BBC testing from upriver downwards

perl-5.25.11 will be released on Monday March 20.  Since this will be 
the first monthly dev release to reflect the banishment of '.' from the 
default @INC, it is the first monthly release in which we can assess the 
effect of that change on CPAN.

Up until now we've mainly relied on Andreas and Slaven's CPAN tester 
reports in this regard.  But we have a problem.  We're having problems 
with cpantesters.org such that, while we rapidly get PASS/FAIL 
indicators for a given distro on a given platform on a given version of 
perl at fast-matrix.cpantesters.org, we are having big delays at getting 
the full report of a test failure at matrix.cpantesters.org.  Currently, 
'matrix' is behind 'fast-matrix' by ... more than a few days.

I know that Doug Bell++ and others are examining this problem, but I 
would like to try some modest workarounds.  What I would like to do is:

1. Compose a list of CPAN distros starting with those farthest up river, 
i.e., distros that only depend on the perl 5 core.  Within that set of 
distros I'd like to order them from most reverse dependencies to fewest. 
  Then go down river from there.

2. Get an up-to-date minicpan.

3. Use that minicpan as the source of tests of the CPAN distros.

4. Run something like a full CPAN test for perl 5.25.11 -- but be able 
to cut that off at either a certain number of distros -- e.g., the 5000 
farthest upriver -- or at a certain number of level below the core itself.
(a) I would like the location where the tests are run, the version of 
'cpan', 'cpaniminus', etc. to be completely distinct from whatever my 
"usual" procedure is on a given platform -- that so I can just blow away 
everything I've done once I'm through.

5. Capture reports of test failures so that we can identify their cause 
-- e.g., is this failure due to:

(a) no '.' by default in @INC?
(b) some other change during 5.25.x development?
(c) breakage, not yet corrected, from some change in an earlier perl 
major release?
(d) bad code in the CPAN distro?

I don't want to re-invent the wheel here.  Do we have prior art for this?

Thank you very much.
Jim Keenan
0
jkeen
3/17/2017 9:32:20 PM
perl.qa 2164 articles. 0 followers. Follow

13 Replies
137 Views

Similar Articles

[PageSpeed] 25

--001a1140a72cc22037054af76849
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

=E2=80=8B> =E2=80=8B
1. Compose a list of CPAN distros starting with those farthest up river,
i.e., distros that only depend on the perl 5 core.  Within that set of
distros I'd like to order them from most reverse dependencies to fewest.
Then go down river from there.

=E2=80=8BDavid Golden has a script for generating the CPAN river heirarchy =
-- the
last run of this that I know of (at least, it's the data I've been working
off of) is at https://gist.github.com/xdg/af7a32c5b21d45a6b255. It lists
the distributions in their position on the CPAN river, and their top 5
users (reverse dependencies).  This would be a natural place to start
testing, and determining which branches of the river have blockages (the
first instance of a no-dot-in-INC issue).  David, can you generate a fresh
copy?=E2=80=8B

=E2=80=8B=E2=80=8B
Karen Etheridge,
ether@cpan.org

--001a1140a72cc22037054af76849
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div class=3D"gmail_extra"><div style=3D"font-size:small;d=
isplay:inline" class=3D"gmail_default">=E2=80=8B&gt; =E2=80=8B</div>1. Comp=
ose a list of CPAN distros starting with those farthest up river, i.e., dis=
tros that only depend on the perl 5 core.=C2=A0 Within that set of distros =
I&#39;d like to order them from most reverse dependencies to fewest.=C2=A0 =
Then go down river from there.<br><div class=3D"gmail_quote"><div><br><div =
style=3D"font-size:small;display:inline" class=3D"gmail_default">=E2=80=8BD=
avid Golden has a script for generating the CPAN river heirarchy -- the las=
t run of this that I know of (at least, it&#39;s the data I&#39;ve been wor=
king off of) is at <a href=3D"https://gist.github.com/xdg/af7a32c5b21d45a6b=
255" target=3D"_blank">https://gist.github.com/xdg/<wbr>af7a32c5b21d45a6b25=
5</a>. It lists the distributions in their position on the CPAN river, and =
their top 5 users (reverse dependencies).=C2=A0 This would be a natural pla=
ce to start testing, and determining which branches of the river have block=
ages (the first instance of a no-dot-in-INC issue).=C2=A0 David, can you ge=
nerate a fresh copy?=E2=80=8B</div></div></div><br><div style=3D"font-size:=
small" class=3D"gmail_default">=E2=80=8B=E2=80=8B<br></div><div style=3D"fo=
nt-size:small" class=3D"gmail_default">Karen Etheridge,<br></div><div style=
=3D"font-size:small" class=3D"gmail_default"><a href=3D"mailto:ether@cpan.o=
rg">ether@cpan.org</a><br></div></div></div>

--001a1140a72cc22037054af76849--
0
perl
3/18/2017 1:42:38 AM
On 03/17/2017 09:42 PM, Karen Etheridge wrote:
> ​> ​
> 1. Compose a list of CPAN distros starting with those farthest up river,
> i.e., distros that only depend on the perl 5 core.  Within that set of
> distros I'd like to order them from most reverse dependencies to
> fewest.  Then go down river from there.
>
> ​David Golden has a script for generating the CPAN river heirarchy --
> the last run of this that I know of (at least, it's the data I've been
> working off of) is at https://gist.github.com/xdg/af7a32c5b21d45a6b255
> <https://gist.github.com/xdg/af7a32c5b21d45a6b255>. It lists the
> distributions in their position on the CPAN river, and their top 5 users
> (reverse dependencies).  This would be a natural place to start testing,
> and determining which branches of the river have blockages (the first
> instance of a no-dot-in-INC issue).  David, can you generate a fresh copy?​
>

Karen, thanks for that link.  Actually, just using the first 1000 or so 
distros in that gist as is would suffice for now.

We now have a perl-5.25.11 tarball which contains 
no-dot-by-default-in-@INC.  So we have a real (dev) release with which 
to begin testing CPAN distros.

The next question is:  How can I set up a reporting apparatus such that 
when a distro fails I can retain the complete test run/output on disk 
for inspection?

I ask this because it's my impression that CPAN::Reporter sends the 
report off to Metabase but does not retain it locally.  I could use 
CPAN::Visit::Mini::Simple but then I have to wade through immense log files.

Thank you very much.
Jim Keenan
0
jkeen
3/21/2017 1:32:34 AM
--Apple-Mail=_3F288D22-0E71-4E7B-A3D8-B124770BCCC3
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8

> =E2=80=8B> =E2=80=8B1. Compose a list of CPAN distros starting with =
those farthest up river, i.e., distros that only depend on the perl 5 =
core.  Within that set of distros I'd like to order them from most =
reverse dependencies to fewest.  Then go down river from there.
>=20
> =E2=80=8BDavid Golden has a script for generating the CPAN river =
heirarchy -- the last run of this that I know of (at least, it's the =
data I've been working off of) is at =
https://gist.github.com/xdg/af7a32c5b21d45a6b255 =
<https://gist.github.com/xdg/af7a32c5b21d45a6b255>. It lists the =
distributions in their position on the CPAN river, and their top 5 users =
(reverse dependencies).  This would be a natural place to start testing, =
and determining which branches of the river have blockages (the first =
instance of a no-dot-in-INC issue).  David, can you generate a fresh =
copy?=E2=80=8B

I am generating the river data roughly weekly. You can get it from here:

	http://neilb.org/river-of-cpan.json.gz =
<http://neilb.org/river-of-cpan.json.gz>

The file is a big array of hashes, one hash per distribution. Here=E2=80=99=
s an example, for Try-Tiny:

	{
	    "dist" : "Try-Tiny=E2=80=9D,
	    "total" : 13045,
	    "bucket" : 5,
	    "immediate" : 1077
	},

The keys are:
=E2=80=9Cimmediate=E2=80=9D is the number of directly dependent CPAN =
distributions.
=E2=80=9Ctotal=E2=80=9D is the total number of dists dependent on it.
=E2=80=9Cbucket=E2=80=9D chunks the river: bucket 5 is dists with 10k or =
more total dependents. Bucket 4 is 1k up to 9999, and so on until bucket =
0, which is dists that have no dependents.

At the moment there are 56 dists in bucket 5 (=E2=80=9Cthe head of the =
river=E2=80=9D).

This file is being imported into MetaCPAN. For example, for Try-Tiny, =
have a look at:

	https://fastapi.metacpan.org/distribution/Try-Tiny =
<https://fastapi.metacpan.org/distribution/Try-Tiny>

At the moment this is being generated as a by-product of my scripts that =
run the PRC, generate the adoption list, etc. I=E2=80=99m currently =
working on a stand-alone generator for this data, which I=E2=80=99m =
hoping to have complete by PTS, so I can work on productising it with =
Leo Lapworth.

Neil



--Apple-Mail=_3F288D22-0E71-4E7B-A3D8-B124770BCCC3
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=utf-8

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html =
charset=3Dutf-8"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" =
class=3D""><div><blockquote type=3D"cite" class=3D""><div class=3D""><div =
dir=3D"ltr" class=3D""><div class=3D"gmail_extra"><div =
style=3D"font-size:small;display:inline" class=3D"gmail_default">=E2=80=8B=
&gt; =E2=80=8B</div>1. Compose a list of CPAN distros starting with =
those farthest up river, i.e., distros that only depend on the perl 5 =
core.&nbsp; Within that set of distros I'd like to order them from most =
reverse dependencies to fewest.&nbsp; Then go down river from there.<br =
class=3D""><div class=3D"gmail_quote"><div class=3D""><br class=3D""><div =
style=3D"font-size:small;display:inline" class=3D"gmail_default">=E2=80=8B=
David Golden has a script for generating the CPAN river heirarchy -- the =
last run of this that I know of (at least, it's the data I've been =
working off of) is at <a =
href=3D"https://gist.github.com/xdg/af7a32c5b21d45a6b255" =
target=3D"_blank" class=3D"">https://gist.github.com/xdg/<wbr =
class=3D"">af7a32c5b21d45a6b255</a>. It lists the distributions in their =
position on the CPAN river, and their top 5 users (reverse =
dependencies).&nbsp; This would be a natural place to start testing, and =
determining which branches of the river have blockages (the first =
instance of a no-dot-in-INC issue).&nbsp; David, can you generate a =
fresh copy?=E2=80=8B</div></div></div></div></div></div></blockquote></div=
><br class=3D""><div class=3D"">I am generating the river data roughly =
weekly. You can get it from here:</div><div class=3D""><br =
class=3D""></div><div class=3D""><span class=3D"Apple-tab-span" =
style=3D"white-space:pre">	</span><a =
href=3D"http://neilb.org/river-of-cpan.json.gz" =
class=3D"">http://neilb.org/river-of-cpan.json.gz</a></div><div =
class=3D""><br class=3D""></div><div class=3D"">The file is a big array =
of hashes, one hash per distribution. Here=E2=80=99s an example, for =
Try-Tiny:</div><div class=3D""><br class=3D""></div><div class=3D""><font =
face=3D"Courier New" style=3D"font-size: 14px;" class=3D""><span =
class=3D"Apple-tab-span" style=3D"white-space:pre">	=
</span>{</font></div><div class=3D""><font face=3D"Courier New" =
style=3D"font-size: 14px;" class=3D""><span class=3D"Apple-tab-span" =
style=3D"white-space:pre">	</span>&nbsp; &nbsp;&nbsp;"dist" : =
"Try-Tiny=E2=80=9D,</font></div><div class=3D""><font face=3D"Courier =
New" style=3D"font-size: 14px;" class=3D""><span class=3D"Apple-tab-span" =
style=3D"white-space:pre">	</span>&nbsp; &nbsp;&nbsp;"total" : =
13045,</font></div><div class=3D""><font face=3D"Courier New" =
style=3D"font-size: 14px;" class=3D""><span class=3D"Apple-tab-span" =
style=3D"white-space:pre">	</span>&nbsp; &nbsp;&nbsp;"bucket" : =
5,</font></div><div class=3D""><font face=3D"Courier New" =
style=3D"font-size: 14px;" class=3D""><span class=3D"Apple-tab-span" =
style=3D"white-space:pre">	</span>&nbsp; &nbsp;&nbsp;"immediate" : =
1077</font></div><div class=3D""><font face=3D"Courier New" =
style=3D"font-size: 14px;" class=3D""><span class=3D"Apple-tab-span" =
style=3D"white-space:pre">	</span>},</font></div><div class=3D""><br =
class=3D""></div><div class=3D"">The keys are:</div><div class=3D""><ul =
class=3D"MailOutline"><li class=3D"">=E2=80=9Cimmediate=E2=80=9D is the =
number of directly dependent CPAN distributions.</li><li =
class=3D"">=E2=80=9Ctotal=E2=80=9D is the total number of dists =
dependent on it.</li><li class=3D"">=E2=80=9Cbucket=E2=80=9D chunks the =
river: bucket 5 is dists with 10k or more total dependents. Bucket 4 is =
1k up to 9999, and so on until bucket 0, which is dists that have no =
dependents.</li></ul></div><div class=3D""><br class=3D""></div><div =
class=3D"">At the moment there are 56 dists in bucket 5 (=E2=80=9Cthe =
head of the river=E2=80=9D).</div><div class=3D""><br =
class=3D""></div><div class=3D"">This file is being imported into =
MetaCPAN. For example, for Try-Tiny, have a look at:</div><div =
class=3D""><br class=3D""></div><div class=3D""><span =
class=3D"Apple-tab-span" style=3D"white-space:pre">	</span><a =
href=3D"https://fastapi.metacpan.org/distribution/Try-Tiny" =
class=3D"">https://fastapi.metacpan.org/distribution/Try-Tiny</a></div><di=
v class=3D""><br class=3D""></div><div class=3D"">At the moment this is =
being generated as a by-product of my scripts that run the PRC, generate =
the adoption list, etc. I=E2=80=99m currently working on a stand-alone =
generator for this data, which I=E2=80=99m hoping to have complete by =
PTS, so I can work on productising it with Leo Lapworth.</div><div =
class=3D""><br class=3D""></div><div class=3D"">Neil</div><div =
class=3D""><br class=3D""></div><div class=3D""><br =
class=3D""></div></body></html>=

--Apple-Mail=_3F288D22-0E71-4E7B-A3D8-B124770BCCC3--
0
neil
3/21/2017 9:26:28 AM
--Apple-Mail=_502B9B88-7F64-4686-B868-32174622F866
Content-Type: multipart/alternative;
	boundary="Apple-Mail=_8BEABE1E-E25E-4FB4-9C70-A9F9D97E4ABA"


--Apple-Mail=_8BEABE1E-E25E-4FB4-9C70-A9F9D97E4ABA
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii


> On Mar 17, 2017, at 4:32 PM, James E Keenan <jkeen@verizon.net> wrote:
>=20
> perl-5.25.11 will be released on Monday March 20.  Since this will be =
the first monthly dev release to reflect the banishment of '.' from the =
default @INC, it is the first monthly release in which we can assess the =
effect of that change on CPAN.
>=20
> Up until now we've mainly relied on Andreas and Slaven's CPAN tester =
reports in this regard.  But we have a problem.  We're having problems =
with cpantesters.org such that, while we rapidly get PASS/FAIL =
indicators for a given distro on a given platform on a given version of =
perl at fast-matrix.cpantesters.org, we are having big delays at getting =
the full report of a test failure at matrix.cpantesters.org.  Currently, =
'matrix' is behind 'fast-matrix' by ... more than a few days.
>=20
> I know that Doug Bell++ and others are examining this problem, but I =
would like to try some modest workarounds.  What I would like to do is:
>=20
> 1. Compose a list of CPAN distros starting with those farthest up =
river, i.e., distros that only depend on the perl 5 core.  Within that =
set of distros I'd like to order them from most reverse dependencies to =
fewest.  Then go down river from there.
>=20
> 2. Get an up-to-date minicpan.
>=20
> 3. Use that minicpan as the source of tests of the CPAN distros.
>=20
> 4. Run something like a full CPAN test for perl 5.25.11 -- but be able =
to cut that off at either a certain number of distros -- e.g., the 5000 =
farthest upriver -- or at a certain number of level below the core =
itself.
> (a) I would like the location where the tests are run, the version of =
'cpan', 'cpaniminus', etc. to be completely distinct from whatever my =
"usual" procedure is on a given platform -- that so I can just blow away =
everything I've done once I'm through.
>=20
> 5. Capture reports of test failures so that we can identify their =
cause -- e.g., is this failure due to:
>=20

I don't know if this would be helpful, but I've been tracking all of the =
modules I've been reporting here. Feel free to scribble there if you =
like so we don't duplicate effort and reports.

https://github.com/toddr/perl/issues/14 =
<https://github.com/toddr/perl/issues/14>

Todd


--Apple-Mail=_8BEABE1E-E25E-4FB4-9C70-A9F9D97E4ABA
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=us-ascii

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html =
charset=3Dus-ascii"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" =
class=3D""><br class=3D""><div><blockquote type=3D"cite" class=3D""><div =
class=3D"">On Mar 17, 2017, at 4:32 PM, James E Keenan &lt;<a =
href=3D"mailto:jkeen@verizon.net" class=3D"">jkeen@verizon.net</a>&gt; =
wrote:</div><br class=3D"Apple-interchange-newline"><div class=3D""><div =
class=3D"">perl-5.25.11 will be released on Monday March 20. &nbsp;Since =
this will be the first monthly dev release to reflect the banishment of =
'.' from the default @INC, it is the first monthly release in which we =
can assess the effect of that change on CPAN.<br class=3D""><br =
class=3D"">Up until now we've mainly relied on Andreas and Slaven's CPAN =
tester reports in this regard. &nbsp;But we have a problem. &nbsp;We're =
having problems with <a href=3D"http://cpantesters.org" =
class=3D"">cpantesters.org</a> such that, while we rapidly get PASS/FAIL =
indicators for a given distro on a given platform on a given version of =
perl at <a href=3D"http://fast-matrix.cpantesters.org" =
class=3D"">fast-matrix.cpantesters.org</a>, we are having big delays at =
getting the full report of a test failure at <a =
href=3D"http://matrix.cpantesters.org" =
class=3D"">matrix.cpantesters.org</a>. &nbsp;Currently, 'matrix' is =
behind 'fast-matrix' by ... more than a few days.<br class=3D""><br =
class=3D"">I know that Doug Bell++ and others are examining this =
problem, but I would like to try some modest workarounds. &nbsp;What I =
would like to do is:<br class=3D""><br class=3D"">1. Compose a list of =
CPAN distros starting with those farthest up river, i.e., distros that =
only depend on the perl 5 core. &nbsp;Within that set of distros I'd =
like to order them from most reverse dependencies to fewest. &nbsp;Then =
go down river from there.<br class=3D""><br class=3D"">2. Get an =
up-to-date minicpan.<br class=3D""><br class=3D"">3. Use that minicpan =
as the source of tests of the CPAN distros.<br class=3D""><br =
class=3D"">4. Run something like a full CPAN test for perl 5.25.11 -- =
but be able to cut that off at either a certain number of distros -- =
e.g., the 5000 farthest upriver -- or at a certain number of level below =
the core itself.<br class=3D"">(a) I would like the location where the =
tests are run, the version of 'cpan', 'cpaniminus', etc. to be =
completely distinct from whatever my "usual" procedure is on a given =
platform -- that so I can just blow away everything I've done once I'm =
through.<br class=3D""><br class=3D"">5. Capture reports of test =
failures so that we can identify their cause -- e.g., is this failure =
due to:<br class=3D""><br class=3D""></div></div></blockquote><br =
class=3D""></div><div>I don't know if this would be helpful, but I've =
been tracking all of the modules I've been reporting here. Feel free to =
scribble there if you like so we don't duplicate effort and =
reports.</div><div><br class=3D""></div><div><a =
href=3D"https://github.com/toddr/perl/issues/14" =
class=3D"">https://github.com/toddr/perl/issues/14</a></div><div =
class=3D""><br class=3D""></div><div class=3D"">Todd</div><div =
class=3D""><br class=3D""></div></body></html>=

--Apple-Mail=_8BEABE1E-E25E-4FB4-9C70-A9F9D97E4ABA--

--Apple-Mail=_502B9B88-7F64-4686-B868-32174622F866
Content-Disposition: attachment;
	filename=smime.p7s
Content-Type: application/pkcs7-signature;
	name=smime.p7s
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIJ7jCCBK8w
ggOXoAMCAQICEQDgI8sVEoNTia1hbnpUZ2shMA0GCSqGSIb3DQEBCwUAMG8xCzAJBgNVBAYTAlNF
MRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEmMCQGA1UECxMdQWRkVHJ1c3QgRXh0ZXJuYWwgVFRQIE5l
dHdvcmsxIjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENBIFJvb3QwHhcNMTQxMjIyMDAwMDAw
WhcNMjAwNTMwMTA0ODM4WjCBmzELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hl
c3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxQTA/BgNV
BAMTOENPTU9ETyBTSEEtMjU2IENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWls
IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAibEN2npTGU5wUh28VqYGJre4SeCW
51Gr8fBaE0kVo7SMG2C8elFCp3mMpCLfF2FOkdV2IwoU00oCf7YdCYBupQQ92bq7Fv6hh6kuQ1JD
FnyvMlDIpk9a6QjYz5MlnHuI6DBk5qT4VoD9KiQUMxeZrETlaYujRgZLwjPU6UCfBrCxrJNAubUI
kzqcKlOjENs9IGE8VQOO2U52JQIhKfqjfHF2T+7hX4Hp+1SA28N7NVK3hN4iPSwwLTF/Wb1SN7Az
aS1D6/rWpfGXd2dRjNnuJ+u8pQc4doykqTj/34z1A6xJvsr3c5k6DzKrnJU6Ez0ORjpXdGFQvsZA
P8vk4p+iIQIDAQABo4IBFzCCARMwHwYDVR0jBBgwFoAUrb2YejS0Jvf6xCZU7wO94CTLVBowHQYD
VR0OBBYEFJJha4LhoqCqT+xn8cKj97SAAMHsMA4GA1UdDwEB/wQEAwIBhjASBgNVHRMBAf8ECDAG
AQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDBDARBgNVHSAECjAIMAYGBFUdIAAw
RAYDVR0fBD0wOzA5oDegNYYzaHR0cDovL2NybC51c2VydHJ1c3QuY29tL0FkZFRydXN0RXh0ZXJu
YWxDQVJvb3QuY3JsMDUGCCsGAQUFBwEBBCkwJzAlBggrBgEFBQcwAYYZaHR0cDovL29jc3AudXNl
cnRydXN0LmNvbTANBgkqhkiG9w0BAQsFAAOCAQEAGypurFXBOquIxdjtzVXzqmthK8AJECOZD8Vm
am+x9bS1d14PAmEA330F/hKzpICAAPz7HVtqcgIKQbwFusFY1SbC6tVNhPv+gpjPWBvjImOcUvi7
BTarfVil3qs7Y+Xa1XPv7OD7e+Kj//BCI5zKto1NPuRLGAOyqC3U2LtCS5BphRDbpjc06HvgARCl
nMo6x59PiDRuimXQGoq7qdzKyjbR9PzCZCk1r9axp3ER0gNDsY8+muyeMlP0dpLKhjQHuSzK5hxK
2JkNwYbikJL7WkJqIyEQ6WXH9dW7fuqMhSACYurROgcsWcWZM/I4ieW26RZ6H3kU9koQGib6fIr7
mzCCBTcwggQfoAMCAQICEFqfByjLUeuvrntkEQDjeFUwDQYJKoZIhvcNAQELBQAwgZsxCzAJBgNV
BAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAOBgNVBAcTB1NhbGZvcmQxGjAY
BgNVBAoTEUNPTU9ETyBDQSBMaW1pdGVkMUEwPwYDVQQDEzhDT01PRE8gU0hBLTI1NiBDbGllbnQg
QXV0aGVudGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQTAeFw0xNzAyMDIwMDAwMDBaFw0xODAy
MDIyMzU5NTlaMCExHzAdBgkqhkiG9w0BCQEWEHRvZGRyQGNwYW5lbC5uZXQwggEiMA0GCSqGSIb3
DQEBAQUAA4IBDwAwggEKAoIBAQCYYvj69schz61JbDrv17YWSc12e/pa34DNMehovIhPTylKDU36
CHsZQHX4R+AeMVAnZhVdkeO7e5BXArUwLTtQr7o4Da2uYEPnPth9AZpFBZQlJZ7inSDob7fIFKhs
OmiqtK2wT3/3RBSIJvtwlg1BmCnWa05JHnuybVIegHf2uvnlYR+pHQllN+KFG0Pasks+Eo2lO+5c
l5W/fbUSY+lcHZf0WoE4Abv/MEkPfiacuySpJadXfEQxEWwglQjv2qWNMuf6pTWElXNsFCoRbNZp
u5qVHdMwxV2azI9rGpRj6EfBgXDaQvDbJFIVCv0/JRSWj6jdlxyUW29XINYidbO/AgMBAAGjggHu
MIIB6jAfBgNVHSMEGDAWgBSSYWuC4aKgqk/sZ/HCo/e0gADB7DAdBgNVHQ4EFgQUNgv8Ie5OhV7G
e9y9VQzmDfBsfNQwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwIAYDVR0lBBkwFwYIKwYB
BQUHAwQGCysGAQQBsjEBAwUCMBEGCWCGSAGG+EIBAQQEAwIFIDBGBgNVHSAEPzA9MDsGDCsGAQQB
sjEBAgEBATArMCkGCCsGAQUFBwIBFh1odHRwczovL3NlY3VyZS5jb21vZG8ubmV0L0NQUzBdBgNV
HR8EVjBUMFKgUKBOhkxodHRwOi8vY3JsLmNvbW9kb2NhLmNvbS9DT01PRE9TSEEyNTZDbGllbnRB
dXRoZW50aWNhdGlvbmFuZFNlY3VyZUVtYWlsQ0EuY3JsMIGQBggrBgEFBQcBAQSBgzCBgDBYBggr
BgEFBQcwAoZMaHR0cDovL2NydC5jb21vZG9jYS5jb20vQ09NT0RPU0hBMjU2Q2xpZW50QXV0aGVu
dGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuY29t
b2RvY2EuY29tMBsGA1UdEQQUMBKBEHRvZGRyQGNwYW5lbC5uZXQwDQYJKoZIhvcNAQELBQADggEB
ADZ/Wcb9bxQjk3gf1VCP3S+2zPF0LAL+m8ZZbRa4BAVsUiJSu0qqPWjbqOMxHqC7HyRcMiz5pHCf
CIOoxDBAN0+cSnNoD6C2JnUs+29elG8WxCcSoiRTrAQk6EhU6fstyyRw7km8uTUjXponD61oMTmJ
npwmlwbUwSOMkZfiinaK9RyEYcl7OyFN5xi+HuzeL07LGr9/tEt1oJNR2V9qqLS8oTasEaLdnh+Y
t3/p6RVng6iLstW8Ma2AaLVY31Mcr+3/E4ISchFccH5L6KMPSyC33Gs9MDa68Ht54dfucH4X6fQq
lGesvUKKFhKe3XeR4PLTXyYL7LgxqwJEU/rpIWMxggPDMIIDvwIBATCBsDCBmzELMAkGA1UEBhMC
R0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UE
ChMRQ09NT0RPIENBIExpbWl0ZWQxQTA/BgNVBAMTOENPTU9ETyBTSEEtMjU2IENsaWVudCBBdXRo
ZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhBanwcoy1Hrr657ZBEA43hVMAkGBSsOAwIa
BQCgggHnMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTE3MDMyMTE2
MTc1OVowIwYJKoZIhvcNAQkEMRYEFJAvXsoGzFBCGpyG8kDQd8zQJKlSMIHBBgkrBgEEAYI3EAQx
gbMwgbAwgZsxCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAOBgNV
BAcTB1NhbGZvcmQxGjAYBgNVBAoTEUNPTU9ETyBDQSBMaW1pdGVkMUEwPwYDVQQDEzhDT01PRE8g
U0hBLTI1NiBDbGllbnQgQXV0aGVudGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIQWp8HKMtR
66+ue2QRAON4VTCBwwYLKoZIhvcNAQkQAgsxgbOggbAwgZsxCzAJBgNVBAYTAkdCMRswGQYDVQQI
ExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAOBgNVBAcTB1NhbGZvcmQxGjAYBgNVBAoTEUNPTU9ETyBD
QSBMaW1pdGVkMUEwPwYDVQQDEzhDT01PRE8gU0hBLTI1NiBDbGllbnQgQXV0aGVudGljYXRpb24g
YW5kIFNlY3VyZSBFbWFpbCBDQQIQWp8HKMtR66+ue2QRAON4VTANBgkqhkiG9w0BAQEFAASCAQAw
62SfmtchjD8HkvSnKchVCTJ5vnynJtBrR2yrgbMQS7/jmolYmcMyZPfoWTi0iR82rAsKlobzZacv
uVx9oMk1asxz05a+bbkCEckb+HliYRd9rRKLQxYx22t0fvVimFIJcGvbnzKK1Mm0fRzugfzvJOP1
38pxbbsJ0QAnjnUhuUrI1aDHktdtIMQ4JO8zMyo6hrssDjxNWwQUVokahtK7IB8+5ZxokWYr2wFQ
M4x3NrE2wbWR4mTDJMkgMziyz9SyQ/4oZMUk7rsqxtX6gCiBFrLfV86XbNkjey26WBoksnreUxlq
5LUzsp0oDL7eCtHdlJ3lQyWP80rxI5lRdgWqAAAAAAAA
--Apple-Mail=_502B9B88-7F64-4686-B868-32174622F866--
0
toddr
3/21/2017 4:17:58 PM
--------------1159120156855FF65C38F28A
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit

On 03/20/2017 09:32 PM, James E Keenan wrote:
> On 03/17/2017 09:42 PM, Karen Etheridge wrote:
>> ​> ​
>> 1. Compose a list of CPAN distros starting with those farthest up river,
>> i.e., distros that only depend on the perl 5 core.  Within that set of
>> distros I'd like to order them from most reverse dependencies to
>> fewest.  Then go down river from there.
>>
>> ​David Golden has a script for generating the CPAN river heirarchy --
>> the last run of this that I know of (at least, it's the data I've been
>> working off of) is at https://gist.github.com/xdg/af7a32c5b21d45a6b255
>> <https://gist.github.com/xdg/af7a32c5b21d45a6b255>. It lists the
>> distributions in their position on the CPAN river, and their top 5 users
>> (reverse dependencies).  This would be a natural place to start testing,
>> and determining which branches of the river have blockages (the first
>> instance of a no-dot-in-INC issue).  David, can you generate a fresh
>> copy?​
>>
>
> Karen, thanks for that link.  Actually, just using the first 1000 or so
> distros in that gist as is would suffice for now.
>
> We now have a perl-5.25.11 tarball which contains
> no-dot-by-default-in-@INC.  So we have a real (dev) release with which
> to begin testing CPAN distros.
>
> The next question is:  How can I set up a reporting apparatus such that
> when a distro fails I can retain the complete test run/output on disk
> for inspection?
>

The approach I took today was as follows:

1. I took the file which David Golden prepared last year as a proxy for 
the current state of the river.  I decompressed it to a plain-text file 
called 'river-2016-02-27.txt'.

2. I wrote a program (attached) called get-upriver-distros.pl to parse 
the plain-text file for the first 1000 distros found, which were stored 
in another plain-text file called top-1000.txt.

3. Built and installed perl5 blead for testing, then installed 'cpanm' 
against that perl.

4. cat top-1000.txt | xargs bin/cpanm install && go get breakfast

5. Copied and renamed the 'cpanm' build.log to 20170330-1000-build.log.gz.

6. grepped out relevant lines from the build log:

zgrep FAIL 20170330-1000-build.log.gz | grep -v 'Result: FAIL' | sed -e 
's/^-> //' > 20170330-1000-fails.txt

7. Wrote second perl program (attached) called 'order-battle.pl' to 
record the order in which various modules *first* appeared in the 
'fails' file and the total number of times each module was cited. 
Results are attached as 'order-of-battle-20170330.txt'.

What is the "order of battle"?  It's the order in which, as of today, we 
need to get new CPAN releases out so that down-river distros are no 
longer failing due to failures in their upstream dependencies.

For example, today David Golden prepared a new version of Sub::Uplevel 
-- the #1 distro in the order of battle.  Once he releases that to CPAN, 
a tremendous number of downstream distros will have their prerequisites 
satisfied and -- assuming they don't have their own configure/build/test 
failures -- will become installable via this perl-5.26.0-friendly cpanm.

This approach is useful for me because I only have a laptop to work 
with.  YMMV.

Thank you very much.
Jim Keenan

--------------1159120156855FF65C38F28A
Content-Type: application/x-perl;
 name="get-upriver-distros.pl"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="get-upriver-distros.pl"

# perl
use strict;
use warnings;
use 5.10.1;
use Data::Dumper;$Data::Dumper::Indent=1;
use Data::Dump qw( dd pp );
use Carp;
use Cwd;
use IO::File;

my $cwd = cwd();

croak "Must supply positive integer as command-line argument"
    unless (@ARGV == 1 and $ARGV[0] =~ m/^\d+$/ and $ARGV[0]);

my $target_count = shift(@ARGV);
my @distros = ();
my $file = "$cwd/river-2016-02-27.txt";

my $IN = IO::File->new($file, 'r');
croak "Unable to open $file" unless defined $IN;

while (my $l = <$IN>) {
    chomp $l;
    next if $l =~ m/<(?:blead|cpan)-upstream>/;
    next unless $l =~ m/^\s*(\d+)\s(\S+)/;
    my ($depcount, $distro) = ($1,$2);
    next if $distro eq 'perl';
    my $module = $distro;
    $module =~ s/-/::/g;
    push @distros, [ $distro, $depcount, $module ];
}
$IN->close or croak "Unable to close $file after reading";
say STDOUT "$_->[2]" for @distros[0 .. ($target_count - 1)];

say STDERR "Finished";

--------------1159120156855FF65C38F28A
Content-Type: text/plain; charset=UTF-8;
 name="order-of-battle-20170330.txt"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="order-of-battle-20170330.txt"

ICAxICBTdWI6OlVwbGV2ZWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgMwogIDIgIFN1Yjo6SWRlbnRpZnkgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICA2CiAgMyAgRGV2ZWw6Ok92ZXJsb2FkSW5mbyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDEKICA0ICBUZXN0OjpDbGVhbk5hbWVzcGFjZXMgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQogIDUgIG5hbWVzcGFjZTo6YXV0b2Ns
ZWFuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ4CiAgNiAgRGF0ZVRpbWU6
OlRpbWVab25lICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDgKICA3ICBE
YXRlVGltZTo6TG9jYWxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
NAogIDggIFRlc3Q6OkV4Y2VwdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDUwCiAgOSAgTW9vc2U6OlV0aWw6OlR5cGVDb25zdHJhaW50cyAgICAgICAgICAg
ICAgICAgICAgICAgICAgMjkKIDEwICBDYXJwOjpDbGFuICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgMwogMTEgIFN1Yjo6RXhwb3J0ZXI6OkZvck1ldGhv
ZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA2CiAxMiAgTW9vc2U6OlJvbGUgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDIKIDEzICBNb29zZTo6
TWV0YTo6VHlwZUNvbnN0cmFpbnQ6OlVuaW9uICAgICAgICAgICAgICAgICAgICAgMQogMTQg
IE1vb3NlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IDY5CiAxNSAgTW9vc2U6OkV4cG9ydGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgMTMKIDE2ICBNb29zZTo6TWV0YTo6Um9sZSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgMQogMTcgIFRlc3Q6Ok1vb3NlICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDEyCiAxOCAgTW9vc2VYOjpSb2xlOjpXaXRoT3Zl
cmxvYWRpbmcgICAgICAgICAgICAgICAgICAgICAgICAgIDEKIDE5ICBNb29zZTo6VXRpbCAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMwogMjAgIFRlc3Q6
Oldhcm4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE2CiAy
MSAgTW9vc2VYOjpSb2xlOjpQYXJhbWV0ZXJpemVkICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDgKIDIyICBNb29zZTo6TWV0YTo6Q2xhc3MgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgNAogMjMgIE1vb3NlOjpNZXRhOjpBdHRyaWJ1dGUgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICA0CiAyNCAgTmV0OjpTU0xlYXkgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKIDI1ICBJTzo6U29ja2V0OjpTU0wgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMgogMjYgIERCSSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA4CiAyNyAgUGVy
bElPOjp1dGY4X3N0cmljdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEK
IDI4ICBTVVBFUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgMQogMjkgIE1vb3NlWDo6VHlwZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDE1CiAzMCAgTW9vc2VYOjpUeXBlczo6TW9vc2UgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgMTcKIDMxICBNaXhpbjo6TGluZXdpc2U6OlJlYWRlcnMg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNQogMzIgIFhNTDo6TmFtZXNwYWNlU3Vw
cG9ydCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0CiAzMyAgWE1MOjpTQVg6
OkJhc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMKIDM0ICBY
TUw6OlNBWCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
MwogMzUgIFhNTDo6U0FYOjpFeGNlcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAxCiAzNiAgQ2xvbmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDcKIDM3ICBNaXhpbjo6TGluZXdpc2U6OldyaXRlcnMgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgMQogMzggIEhUTUw6OlRyZWVCdWlsZGVyICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA2CiAzOSAgSFRUUDo6U2VydmVyOjpT
aW1wbGU6OkNHSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIKIDQwICBDR0kgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOAogNDEg
IFRlc3Q6Ok1vY2tNb2R1bGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAyCiA0MiAgTG9nOjpEaXNwYXRjaDo6T3V0cHV0ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDEKIDQzICBYTUw6OlNBWDo6RXhwYXQgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgMQogNDQgIExvZzo6RGlzcGF0Y2ggICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAxCiA0NSAgTG9nOjpEaXNwYXRjaDo6U2NyZWVu
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKIDQ2ICBMb2c6OkRpc3BhdGNo
OjpTeXNsb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQogNDcgIExvZzo6
RGlzcGF0Y2g6OkZpbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCiA0
OCAgTG9nOjpEaXNwYXRjaDo6QXJyYXkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDEKIDQ5ICBNb29zZVg6Ok9uZUFyZ05ldyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMQogNTAgIFJvbGU6OklkZW50aWZpYWJsZTo6SGFzSWRlbnQgICAgICAg
ICAgICAgICAgICAgICAgICAgICAxCiA1MSAgUm9sZTo6SGFzTWVzc2FnZSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKIDUyICBNb29zZTo6VXRpbDo6TWV0YVJv
bGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNwogNTMgIENvbmZpZzo6TVZQ
OjpSZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyCiA1NCAgQ29u
ZmlnOjpNVlA6OlJlYWRlcjo6RmluZGFibGU6OkJ5RXh0ZW5zaW9uICAgICAgICAgICAgIDIK
IDU1ICBDb25maWc6OklOSTo6UmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgMgogNTYgIENvbmZpZzo6TVZQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAyCiA1NyAgVHJlZTo6U2ltcGxlOjpWaXNpdG9yICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDEKIDU4ICBUcmVlOjpTaW1wbGUgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQogNTkgIERhdGVUaW1lOjpMb2NhbGU6
OkJhc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCiA2MCAgRGF0ZVRpbWUg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjUKIDYxICBE
YXRlVGltZTo6TG9jYWxlOjpGcm9tRGF0YSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
MQogNjIgIFBQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDEwCiA2MyAgUFBJOjpEb2N1bWVudCAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDYKIDY0ICBUZXN0OjpMZWFrVHJhY2UgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgNAogNjUgIEZpbGU6OkhvbWVEaXIgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA4CiA2NiAgTFdQOjpQcm90b2NvbDo6
aHR0cHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIKIDY3ICBDb25maWc6
Ok1WUDo6U2VjdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQogNjgg
IENvbmZpZzo6TVZQOjpBc3NlbWJsZXI6OldpdGhCdW5kbGVzICAgICAgICAgICAgICAgICAg
ICAyCiA2OSAgQ29uZmlnOjpNVlA6OlJlYWRlcjo6RmluZGVyICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDIKIDcwICBDUEFOOjpVcGxvYWRlciAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgMQogNzEgIE1vb3NlWDo6VHlwZXM6OlBlcmwgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAyCiA3MiAgTG9nOjpEaXNwYXRjaG91bGkgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMKIDczICBQZXJsOjpQcmVyZXFT
Y2FubmVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMgogNzQgIENvbmZp
Zzo6TVZQOjpBc3NlbWJsZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyCiA3
NSAgVGVybTo6RW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDEKIDc2ICBDb25maWc6Ok1WUDo6UmVhZGVyOjpJTkkgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMgogNzcgIE1vb3NlWDo6U2V0T25jZSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAxCiA3OCAgUG9kOjpFdmVudHVhbCAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKIDc5ICBNb29zZVg6OkxhenlSZXF1aXJl
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMgogODAgIFRlc3Q6Ok1vc3Qg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0CiA4MSAgRGF0
ZVRpbWU6OkZvcm1hdDo6U3RycHRpbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEK
IDgyICBQYXRoOjpJc0Rldjo6T2JqZWN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgMQogODMgIFBhdGg6OklzRGV2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAyCiA4NCAgVGFzazo6V2Vha2VuICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgMTAKIDg1ICBQYXRoOjpGaW5kRGV2ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQogODYgIE1vdXNlICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyCiA4NyAgQ2FycDo6QXNz
ZXJ0OjpNb3JlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKIDg4ICBI
VFRQOjpTZXJ2ZXI6OlNpbXBsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
MgogODkgIFdXVzo6TWVjaGFuaXplICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAxCiA5MCAgUFBJOjpEb2N1bWVudDo6RnJhZ21lbnQgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDEKIDkxICBQUEk6OkR1bXBlciAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgMQogOTIgIFBQSXg6OlV0aWxpdGllczo6U3RhdGVt
ZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCiA5MyAgUFBJOjpUb2tlbjo6UXVv
dGU6OlNpbmdsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKIDk0ICBQUEk6OlRv
a2VuOjpXaGl0ZXNwYWNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQogOTUg
IFBQSXg6OlJlZ2V4cCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAyCiA5NiAgUFBJOjpEb2N1bWVudDo6RmlsZSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDEKIDk3ICBQUEl4OjpVdGlsaXRpZXM6Ok5vZGUgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgMQogOTggIFBQSTo6Tm9kZSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAxCiA5OSAgQ2xvbmU6OlBQICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMKMTAwICBEYXRlVGltZTo6RHVy
YXRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQoxMDEgIExpc3Q6
OlNvbWVVdGlsczo6WFMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjEw
MiAgTGlzdDo6U29tZVV0aWxzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDEKMTAzICBMaXN0OjpVdGlsc0J5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMgoxMDQgIEZ1bmN0aW9uOjpGYWxsYmFjazo6Q29yZU9yUFAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAzCjEwNSAgQ0dJOjpDb29raWUgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKMTA2ICBUZXN0OjpXV1c6Ok1lY2hhbml6
ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQoxMDcgIERhdGE6OkNsZWFu
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjEwOCAgRGF0
YTo6U2FoOjpOb3JtYWxpemUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDgK
MTA5ICBTYWg6OlNjaGVtYTo6cmluY2k6OmZ1bmN0aW9uX21ldGEgICAgICAgICAgICAgICAg
ICAgICAgMgoxMTAgIE1vb3NlOjpNZXRhOjpUeXBlQ29uc3RyYWludDo6UGFyYW1ldGVyaXph
YmxlICAgICAgICAgICAxCjExMSAgTW9vc2U6Ok1ldGE6OlR5cGVDb25zdHJhaW50ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDMKMTEyICBNb29zZTo6TWV0YTo6VHlwZUNvZXJjaW9u
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQoxMTMgIE1vb3NlWDo6VHlwZXM6OkRh
dGVUaW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjExNCAgRGV2ZWw6OlBh
cnRpYWxEdW1wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKMTE1ICBN
b2R1bGU6OlBhdGg6Ok1vcmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
MgoxMTYgIElQQzo6UnVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAyCjExNyAgSVBDOjpTeXN0ZW06Ok9wdGlvbnMgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDMKMTE4ICBOb2RlanM6OlV0aWwgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgMQoxMTkgIERhdGE6Ok1vZGVNZXJnZSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjEyMCAgRGF0YTo6U2FoOjpSZXNv
bHZlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIKMTIxICBsaWI6OmZp
bHRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMgoxMjIg
IERhdGE6OlNhaDo6Q29lcmNlQ29tbW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAxCjEyMyAgRGF0YTo6U2FoOjpDb2VyY2UgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDEKMTI0ICBQZXJpbmNpOjpTdWI6OlV0aWwgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgNwoxMjUgIERhdGE6OlNhaCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAyCjEyNiAgUGVyaW5jaTo6U3ViOjpOb3JtYWxp
emUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDkKMTI3ICBNb29zZTo6TWV0YTo6
Um9sZTo6QXR0cmlidXRlICAgICAgICAgICAgICAgICAgICAgICAgICAgMQoxMjggIFBvZDo6
RXZlbnR1YWw6OlNpbXBsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyCjEy
OSAgRGF0YTo6U2FoOjpVdGlsOjpUeXBlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDQKMTMwICBEYXRhOjpDbGVhbjo6SlNPTiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMgoxMzEgIFBlcmluY2k6OlN1Yjo6R2V0QXJnczo6QXJyYXkgICAgICAg
ICAgICAgICAgICAgICAgICAgICAxCjEzMiAgRGF0YTo6Q2xlYW46OkZyb21KU09OICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKMTMzICBCaXQ6OlZlY3RvciAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQoxMzQgIENvbXBsZXRlOjpC
YXNoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA2CjEzNSAgUGVy
aW5jaTo6U3ViOjpQcm9wZXJ0eVV0aWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEK
MTM2ICBQZXJpbmNpOjpPYmplY3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgNAoxMzcgIFBlcmluY2k6OlN1Yjo6UHJvcGVydHk6OmFyZzo6Y21kbGluZSAgICAg
ICAgICAgICAgICAgICAxCjEzOCAgSFRUUDo6U2VydmVyOjpTaW1wbGU6OlBTR0kgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDEKMTM5ICBIYXNoOjpNZXJnZTo6U2ltcGxlICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNAoxNDAgIE1JTUU6OkNoYXJzZXQgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjE0MSAgQ29tcGxldGU6
OkdldG9wdDo6TG9uZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKMTQyICBQ
ZXJpbmNpOjpTdWI6OkdldEFyZ3M6OkFyZ3YgICAgICAgICAgICAgICAgICAgICAgICAgICAg
NAoxNDMgIFBlcmluY2k6OkV4YW1wbGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICA1CjE0NCAgTW9vc2VYOjpUeXBlczo6U3RyaW5nbGlrZSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDEKMTQ1ICBQZXJpbmNpOjpTdWI6OldyYXBwZXIgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgMQoxNDYgIFByb2dyZXNzOjpBbnkgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzCjE0NyAgUGVyaW5jaTo6U3ViOjpD
b21wbGV0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIKMTQ4ICBQZXJpbmNp
OjpBY2Nlc3M6OlNjaGVtZWxlc3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQoxNDkg
IFBlcmluY2k6OkFjY2Vzczo6UGVybCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAxCjE1MCAgTW9kdWxlOjpDUEFOZmlsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDEKMTUxICBQYWRXYWxrZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgMgoxNTIgIFBlcmluY2k6OkV4YW1wbGVzOjpDTEkgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAxCjE1MyAgUGVyaW5jaTo6U3ViOjpDb252ZXJ0
QXJnczo6QXJndiAgICAgICAgICAgICAgICAgICAgICAgIDEKMTU0ICBQcm9ncmVzczo6QW55
OjpPdXRwdXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMgoxNTUgIFBlcmw6
OkNyaXRpYzo6VXRpbHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyCjE1
NiAgUGVybDo6Q3JpdGljICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDEKMTU3ICBQZXJsOjpDcml0aWM6OlZpb2xhdGlvbiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMQoxNTggIFBlcmluY2k6OlN1Yjo6VG86OkNMSURvY0RhdGEgICAgICAg
ICAgICAgICAgICAgICAgICAgICAxCjE1OSAgUGVyaW5jaTo6QWNjZXNzICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKMTYwICBQZXJpbmNpOjpDbWRMaW5lOjpH
ZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQoxNjEgIFBlcmluY2k6OkV4
YW1wbGVzOjpUaW55ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjE2MiAgQ29u
ZmlnOjpJT0Q6OlJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEK
MTYzICBQZXJpbmNpOjpDbWRMaW5lOjpVdGlsOjpDb25maWcgICAgICAgICAgICAgICAgICAg
ICAgICAgMQoxNjQgIENvbXBsZXRlOjpUY3NoICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAxCjE2NSAgUGVyaW5jaTo6QWNjZXNzOjpMaXRlICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDEKMTY2ICBUZXN0OjpQZXJpbmNpOjpDbWRMaW5lICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQoxNjcgIFBlcmluY2k6OkNtZExpbmU6
OkhlbHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjE2OCAgUHJvZ3Jlc3M6
OkFueTo6T3V0cHV0OjpUZXJtUHJvZ3Jlc3NCYXJDb2xvciAgICAgICAgICAgIDEKMTY5ICBD
b21wbGV0ZTo6WnNoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
MQoxNzAgIENvbXBsZXRlOjpGaXNoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAxCjE3MSAgUG9kOjpFbGVtZW50YWwgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDMKMTcyICBQb2Q6OkVsZW1lbnRhbDo6U2VsZWN0b3JzICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgMQoxNzMgIFBvZDo6RWxlbWVudGFsOjpUcmFuc2Zv
cm1lcjo6TmVzdGVyICAgICAgICAgICAgICAgICAgICAxCjE3NCAgUG9kOjpFbGVtZW50YWw6
OkVsZW1lbnQ6OlBvZDU6Ok9yZGluYXJ5ICAgICAgICAgICAgICAgIDEKMTc1ICBQb2Q6OkVs
ZW1lbnRhbDo6RWxlbWVudDo6UG9kNTo6Q29tbWFuZCAgICAgICAgICAgICAgICAgMgoxNzYg
IFBvZDo6RWxlbWVudGFsOjpFbGVtZW50OjpQb2Q1OjpSZWdpb24gICAgICAgICAgICAgICAg
ICAxCjE3NyAgUG9kOjpFbGVtZW50YWw6OkRvY3VtZW50ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDEKMTc4ICBQb2Q6OkVsZW1lbnRhbDo6VHlwZXMgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgMgoxNzkgIFBvZDo6RWxlbWVudGFsOjpFbGVtZW50OjpQb2Q1
OjpWZXJiYXRpbSAgICAgICAgICAgICAgICAxCjE4MCAgUG9kOjpFbGVtZW50YWw6OkVsZW1l
bnQ6Ok5lc3RlZCAgICAgICAgICAgICAgICAgICAgICAgIDEKMTgxICBQb2Q6OkVsZW1lbnRh
bDo6VHJhbnNmb3JtZXI6OlBvZDUgICAgICAgICAgICAgICAgICAgICAgMgoxODIgIFBvZDo6
RWxlbWVudGFsOjpUcmFuc2Zvcm1lcjo6R2F0aGVyZXIgICAgICAgICAgICAgICAgICAxCjE4
MyAgWUFNTDo6WFMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDMKMTg0ICBFeHRVdGlsczo6UGtnQ29uZmlnICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgNAoxODUgIFBlcmluY2k6OkNtZExpbmU6OkxpdGUgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAxCjE4NiAgRGF0ZVRpbWU6OkZvcm1hdDo6QnVpbGRlciAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUKMTg3ICBtZXRhY2xhc3MgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMgoxODggIFRlc3Q6OkNsYXNz
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjE4OSAgTW9v
c2U6Ok1ldGE6OlR5cGVDb25zdHJhaW50OjpSb2xlICAgICAgICAgICAgICAgICAgICAgIDEK
MTkwICBNb29zZTo6RXhjZXB0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgMQoxOTEgIERldmVsOjpDYWxsZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAxCjE5MiAgRGF0ZVRpbWU6OkZvcm1hdDo6VzNDRFRGICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDIKMTkzICBEYXRlVGltZTo6Rm9ybWF0OjpNYWlsICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMgoxOTQgIERCSXg6OkNvbnRleHR1YWxG
ZXRjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjE5NSAgUGFyc2U6OlJl
Y0Rlc2NlbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMKMTk2ICBJ
Tzo6QWxsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
MQoxOTcgIElubGluZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAxCjE5OCAgUGVnZXggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDEKMTk5ICBDbGFzczo6VHJpZ2dlciAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgMQoyMDAgIEltYTo6REJJICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjIwMSAgTW9vc2VYOjpUeXBlczo6
UGF0aDo6Q2xhc3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIKMjAyICBBbnlFdmVu
dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMgoyMDMg
IE9iamVjdDo6UGx1Z2dhYmxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAxCjIwNCAgQ2Fpcm8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDIKMjA1ICBHbGliICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgMgoyMDYgIFBPRTo6Q29tcG9uZW50OjpTeW5kaWNhdG9yICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAxCjIwNyAgUGFuZ28gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKMjA4ICBQYXJzZTo6TWV0aG9k
OjpTaWduYXR1cmVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMwoyMDkgIEhUTUw6
OlRlbXBsYXRlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjIx
MCAgUFBJOjpVdGlsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDEKMjExICBEYXRhOjpWaXNpdG9yOjpDYWxsYmFjayAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMgoyMTIgIERhdGE6OlZpc2l0b3IgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAxCjIxMyAgQWxpZW46Ond4V2lkZ2V0cyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMKMjE0ICBhc2EgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMgoyMTUgIENsYXNzOjpDb250
YWluZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjIxNiAgRGlz
dDo6WmlsbGE6OlJvbGU6OlBsdWdpbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMK
MjE3ICBUZXN0OjpNb29zZTo6TW9yZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgMgoyMTggIEV4dFV0aWxzOjpNYWtlTWFrZXI6OkNQQU5maWxlICAgICAgICAgICAg
ICAgICAgICAgICAgICAzCjIxOSAgRGlzdDo6WmlsbGE6OlJvbGU6OkZpbGVQcnVuZXIgICAg
ICAgICAgICAgICAgICAgICAgICAgIDIKMjIwICBEaXN0OjpaaWxsYTo6Um9sZTo6UGx1Z2lu
QnVuZGxlICAgICAgICAgICAgICAgICAgICAgICAgMQoyMjEgIFZlcnNpb246Ok5leHQgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjIyMiAgRGlzdDo6Wmls
bGE6OlBsdWdpbjo6R2F0aGVyRGlyICAgICAgICAgICAgICAgICAgICAgICAgIDIKMjIzICBE
aXN0OjpaaWxsYTo6Um9sZTo6QWZ0ZXJNaW50ICAgICAgICAgICAgICAgICAgICAgICAgICAg
MQoyMjQgIERpc3Q6OlppbGxhOjpSb2xlOjpBZnRlclJlbGVhc2UgICAgICAgICAgICAgICAg
ICAgICAgICAyCjIyNSAgRGlzdDo6WmlsbGE6OlJvbGU6OlZlcnNpb25Qcm92aWRlciAgICAg
ICAgICAgICAgICAgICAgIDEKMjI2ICBEaXN0OjpaaWxsYTo6Um9sZTo6R2l0Q29uZmlnICAg
ICAgICAgICAgICAgICAgICAgICAgICAgMQoyMjcgIERpc3Q6OlppbGxhOjpSb2xlOjpCZWZv
cmVSZWxlYXNlICAgICAgICAgICAgICAgICAgICAgICAyCjIyOCAgVGVzdDo6RFppbCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDgKMjI5ICBNb29zZVg6
OlR5cGVzOjpQYXRoOjpUaW55ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMgoyMzAg
IERpc3Q6OlppbGxhOjpGaWxlOjpJbk1lbW9yeSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICA2CjIzMSAgRGlzdDo6WmlsbGEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDYKMjMyICBEaXN0OjpaaWxsYTo6UGx1Z2luOjpDb25maWc6OkdpdCAgICAg
ICAgICAgICAgICAgICAgICAgMQoyMzMgIERpc3Q6OlppbGxhOjpSb2xlOjpSZWxlYXNlciAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAxCjIzNCAgRGlzdDo6WmlsbGE6OlJvbGU6OkFm
dGVyQnVpbGQgICAgICAgICAgICAgICAgICAgICAgICAgIDIKMjM1ICBEaXN0OjpaaWxsYTo6
VGVzdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMwoyMzYgIEdpdDo6
V3JhcHBlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjIz
NyAgTW9vc2VYOjpUeXBlczo6Q29tbW9uOjpTdHJpbmcgICAgICAgICAgICAgICAgICAgICAg
ICAgIDEKMjM4ICBNb29zZVg6Ok1ldGE6OlR5cGVDb25zdHJhaW50OjpNb29pc2ggICAgICAg
ICAgICAgICAgICAgMQoyMzkgIExpc3Q6OkFsbFV0aWxzICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAxCjI0MCAgRGF0ZVRpbWU6OlNldCAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIKMjQxICBUZXN0Ojp1dGY4ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQoyNDIgIFBvZDo6RWxlbWVu
dGFsOjpQZXJsTXVuZ2VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjI0MyAgRGlz
dDo6WmlsbGE6OlJvbGU6OkZpbGVNdW5nZXIgICAgICAgICAgICAgICAgICAgICAgICAgIDcK
MjQ0ICBQb2Q6OldlYXZlcjo6Q29uZmlnOjpBc3NlbWJsZXIgICAgICAgICAgICAgICAgICAg
ICAgICAgMQoyNDUgIERpc3Q6OlppbGxhOjpSb2xlOjpGaWxlRmluZGVyVXNlciAgICAgICAg
ICAgICAgICAgICAgICA1CjI0NiAgUG9kOjpXZWF2ZXIgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDEKMjQ3ICBCOjpVdGlscyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMgoyNDggIFBlcmw6Ok1pbmltdW1WZXJz
aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyCjI0OSAgREJEOjpTUUxp
dGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMKMjUwICBE
Qkl4OjpDbGFzcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
MgoyNTEgIFNRTDo6VHJhbnNsYXRvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAxCjI1MiAgUGFyYW1zOjpDbGFzc2lmeSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDEKMjUzICBNZXRhOjpCdWlsZGVyICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgMQoyNTQgIENsYXNzOjpNaXggICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjI1NSAgQ2xhc3M6OkFjY2Vzc29y
OjpMaXRlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIKMjU2ICBIVFRQOjpQ
YXJzZXI6OlhTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQoyNTcg
IEhUTUw6OkVsZW1lbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAxCjI1OCAgRGF0ZTo6Q2FsYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDEKMjU5ICBSZWdleHA6OkNvbW1vbiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgMgoyNjAgIE1vZHVsZTo6Q1BBTlRTOjpBbmFseXNlICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAxCjI2MSAgWE1MOjpMaWJYTUwgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMKMjYyICBYTUw6OkF0b20gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQoyNjMgIFhNTDo6
UlNTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjI2
NCAgRmVlZDo6RmluZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDEKMjY1ICBEYXRlVGltZTo6RXZlbnQ6OlJlY3VycmVuY2UgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMQoyNjYgIENhdGFseXN0OjpSdW50aW1lICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAyCjI2NyAgRGlzdDo6WmlsbGE6OlV0aWwgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIKMjY4ICBEaXN0OjpaaWxsYTo6QXBwOjpD
b21tYW5kOjphdXRob3JkZXBzICAgICAgICAgICAgICAgICAgMQoyNjkgIERpc3Q6OlppbGxh
OjpBcHA6OlRlc3RlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjI3MCAgU3lz
dGVtOjpDb21tYW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEK
MjcxICBUZW1wbGF0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgMwoyNzIgIENhdGFseXN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAyCjI3MyAgVGVtcGxhdGU6OlRpbWVyICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDEKMjc0ICBEYXRlVGltZTo6RXZlbnQ6OklDYWwgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQoyNzUgIFVuaWNvZGU6OkdDU3RyaW5n
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjI3NiAgRGlzdDo6Wmls
bGE6OkRpc3Q6OkJ1aWxkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIKMjc3ICBE
aXN0OjpaaWxsYTo6TVZQOjpBc3NlbWJsZXI6OlppbGxhICAgICAgICAgICAgICAgICAgICAg
MQoyNzggIERpc3Q6OlppbGxhOjpDaHJvbWU6OlRlc3QgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAxCjI3OSAgRGlzdDo6WmlsbGE6Ok1WUDo6U2VjdGlvbiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDEKMjgwICBTdHJpbmc6OlByaW50ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgMgoyODEgIERpc3Q6OlppbGxhOjpSb2xlOjpCb290
c3RyYXAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjI4MiAgTG9nOjpSZXBvcnQ6Ok9w
dGlvbmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKMjgzICBIVE1MOjpU
cmVlQnVpbGRlcjo6WFBhdGggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQoyODQg
IENvbnRleHQ6OlByZXNlcnZlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAxCjI4NSAgUGFyc2U6Ok1ldGhvZDo6U2lnbmF0dXJlczo6UGFyYW06OlBsYWNlaG9sZGVy
ICAgICAgICAgIDIKMjg2ICBNb29zZTo6TWV0YTo6TWV0aG9kICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgMgoyODcgIFBhcnNlOjpNZXRob2Q6OlNpZ25hdHVyZXM6OlR5
cGVDb25zdHJhaW50ICAgICAgICAgICAgICAxCjI4OCAgTW9vc2VYOjpNZXRhOjpUeXBlQ29u
c3RyYWludDo6Rm9yY2VDb2VyY2lvbiAgICAgICAgICAgIDEKMjg5ICBNb29zZVg6OlR5cGVz
OjpTdHJ1Y3R1cmVkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMgoyOTAgIE1vb3Nl
WDo6VHlwZXM6OlV0aWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjI5
MSAgUGFyc2U6Ok1ldGhvZDo6U2lnbmF0dXJlczo6UGFyYW06Ok5hbWVkICAgICAgICAgICAg
ICAgIDEKMjkyICBQYXJzZTo6TWV0aG9kOjpTaWduYXR1cmVzOjpUeXBlcyAgICAgICAgICAg
ICAgICAgICAgICAgMQoyOTMgIE1vb3NlWDo6Q29uZmlnRnJvbUZpbGUgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAxCjI5NCAgRGlzdDo6WmlsbGE6OlJvbGU6OlByZXJlcVNv
dXJjZSAgICAgICAgICAgICAgICAgICAgICAgIDMKMjk1ICBUZXN0OjpNaW5pbXVtVmVyc2lv
biAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQoyOTYgIERpc3Q6OlppbGxh
OjpSb2xlOjpUZXh0VGVtcGxhdGUgICAgICAgICAgICAgICAgICAgICAgICAzCjI5NyAgRGlz
dDo6WmlsbGE6OlJvbGU6OkZpbGVHYXRoZXJlciAgICAgICAgICAgICAgICAgICAgICAgIDUK
Mjk4ICBIYXNoOjpNZXJnZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgMQoyOTkgIERhdGE6OlBhZ2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAxCjMwMCAgTG9jYWxlOjpUZXh0RG9tYWluICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDIKMzAxICBEYXRhOjpSZWNvcmQgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQozMDIgIFRleHQ6OkxpbmVGb2xkICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjMwMyAgTW9vWDo6Q29u
ZmlnRnJvbUZpbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKMzA0ICBQ
b2Q6OkNvdmVyYWdlOjpUcnVzdFBvZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
MgozMDUgIERCSUN4OjpUZXN0RGF0YWJhc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAxCjMwNiAgTUlNRTo6RW50aXR5ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDEKMzA3ICBEaXN0OjpaaWxsYTo6UGx1Z2luOjpCb290c3RyYXA6
OmxpYiAgICAgICAgICAgICAgICAgICAgMQozMDggIERpc3Q6OlppbGxhOjpQbHVnaW46Ok1l
dGFDb25maWcgICAgICAgICAgICAgICAgICAgICAgICAxCjMwOSAgU2VyZWFsOjpEZWNvZGVy
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKMzEwICBIVE1MOjpG
b3JtYXRUZXh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQozMTEg
IE1vb3NlWDo6TWV0aG9kQXR0cmlidXRlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAxCjMxMiAgTW9vc2VYOjpUcmFpdHM6OlBsdWdnYWJsZSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDEKMzEzICBMb2NhbGU6Ok1lc3NhZ2VzICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgMQozMTQgIFRleHQ6OkNTViAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAxCjMxNSAgVGV4dDo6SG9nYW46OkNvbXBpbGVy
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKMzE2ICBNb2R1bGU6OkluZm8g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQozMTcgIENvbmZp
Zzo6T25pb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjMx
OCAgSU86OkhhbmRsZTo6VXRpbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDEKMzE5ICBVUkk6OlRlbXBsYXRlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMQozMjAgIENHSTo6RXhwYW5kICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAxCjMyMSAgQW55OjpNb29zZSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKMzIyICBPUkxpdGUgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQozMjMgIFd4ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyCjMyNCAgVGVz
dDo6QVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEK
MzI1ICBFeHRVdGlsczo6WFNwcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgMQozMjYgIERhdGVUaW1lOjpGb3JtYXQ6OklDYWwgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAxCjMyNyAgRGF0ZVRpbWU6OkZvcm1hdDo6TmF0dXJhbCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDEKMzI4ICBEYXRlVGltZTo6Rm9ybWF0OjpGbGV4aWJs
ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQozMjkgIFBvZDo6RWxlbWVudGFsOjpU
cmFuc2Zvcm1lciAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjMzMCAgTnVtYmVyOjpX
aXRoRXJyb3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKMzMxICBN
b29zZVg6Ok1ldGhvZDo6U2lnbmF0dXJlczo6VHlwZXMgICAgICAgICAgICAgICAgICAgICAg
MQozMzIgIE1vb3NlWDo6TWV0aG9kOjpTaWduYXR1cmVzOjpNZXRhOjpNZXRob2QgICAgICAg
ICAgICAgICAxCjMzMyAgTW9vc2VYOjpNZXRob2Q6OlNpZ25hdHVyZXMgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDEKMzM0ICBMb2c6OlJlcG9ydCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgMgozMzUgIFNIQVJZQU5UTzo6QXJyYXk6OlV0aWwg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjMzNiAgWE1MOjpDb21waWxlOjpU
ZXN0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKMzM3ICBDbGFzczo6
QWRhcHRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQozMzgg
IENsYXNzOjpBZGFwdGVyOjpCdWlsZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAxCjMzOSAgRGlzdDo6WmlsbGE6OlJvbGU6OlBQSSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDIKMzQwICBEaXN0OjpaaWxsYTo6Um9sZTo6UGx1Z2luQnVuZGxlOjpFYXN5
ICAgICAgICAgICAgICAgICAgMQozNDEgIERpc3Q6OlppbGxhOjpSb2xlOjpGaWxlV2F0Y2hl
ciAgICAgICAgICAgICAgICAgICAgICAgICAxCjM0MiAgRGlzdDo6WmlsbGE6OlJvbGU6Ok1l
dGFQcm92aWRlciAgICAgICAgICAgICAgICAgICAgICAgIDIKMzQzICBNb29zZVg6OlR5cGVz
OjpVUkkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQo=
--------------1159120156855FF65C38F28A
Content-Type: application/x-perl;
 name="order-battle.pl"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="order-battle.pl"

# perl
use strict;
use warnings;
use 5.10.1;
use Data::Dumper;$Data::Dumper::Indent=1;
use Data::Dump qw( dd pp );
use Carp;
use Cwd;

my $cwd = cwd();

croak "Must supply file in current directory as command-line argument"
    unless (@ARGV == 1 and -f $ARGV[0]);

my $fails_file = shift(@ARGV);
my %failures = ();
my $rank = 0;
open my $IN, '<', $fails_file or croak "Unable to open $fails_file for reading";
while (my $l = <$IN>) {
    chomp $l;
    my @these_fails = ();
    next unless ((@these_fails) = $l =~ m/Module '([^']+?)' is not installed/g);
    for my $mod (@these_fails) {
        if (! exists $failures{$mod}) {
            $failures{$mod}{count} = 1;
            $failures{$mod}{rank}  = ++$rank;
        }
        else {
            $failures{$mod}{count}++;
        }
    }
}
close $IN or croak "Unable to close $fails_file after reading";
#dd(\%failures);

for my $mod ( sort { $failures{$a}{rank} <=> $failures{$b}{rank} } keys %failures) {
    printf "%3d  %-50s%6d\n" => ($failures{$mod}{rank}, $mod, $failures{$mod}{count});
}

say STDERR "Finished";

--------------1159120156855FF65C38F28A--
0
jkeenan
3/30/2017 8:36:05 PM
On 31 March 2017 at 09:36, James E Keenan <jkeenan@pobox.com> wrote:
> For example, today David Golden prepared a new version of Sub::Uplevel --
> the #1 distro in the order of battle.  Once he releases that to CPAN, a
> tremendous number of downstream distros will have their prerequisites
> satisfied and -- assuming they don't have their own configure/build/test
> failures -- will become installable via this perl-5.26.0-friendly cpanm.


Neat... but Q) Looking at your list I see a few things that I expected
to be fixed already.

Are you using a Mini-CPAN Mirror by chance?

-- 
Kent

KENTNL - https://metacpan.org/author/KENTNL
0
kentfredric
3/30/2017 9:16:58 PM
On 03/30/2017 05:16 PM, Kent Fredric wrote:
> On 31 March 2017 at 09:36, James E Keenan <jkeenan@pobox.com> wrote:
>> For example, today David Golden prepared a new version of Sub::Uplevel --
>> the #1 distro in the order of battle.  Once he releases that to CPAN, a
>> tremendous number of downstream distros will have their prerequisites
>> satisfied and -- assuming they don't have their own configure/build/test
>> failures -- will become installable via this perl-5.26.0-friendly cpanm.
>
>
> Neat... but Q) Looking at your list I see a few things that I expected
> to be fixed already.
>
> Are you using a Mini-CPAN Mirror by chance?
>

No, though I certainly could, since I have a minicpan on the same 
machine.  I'd just have to remember that I have it and then keep it 
up-to-date.

So what you see is as of earlier today from cpan.  I suspect that one of 
the biggest challenges we will face is getting people to do an actual 
release as opposed to, say, merging a p.r. to their github master branch.

If I had/have time to do a more sophisticated version of this, I'd 
figure out a way to distinguish between those distros that truly sit at 
the top of "error trees" -- Sub::Uplevel and Sub::Identify, for instance 
-- and those which may have many distros failing underneath them but 
where the real failure is above them -- e.g., Devel::OverloadInfo.

jimk
0
jkeenan
3/31/2017 1:40:23 AM
--------------CD2581B952FA78F6A175EEF2
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit

On 03/30/2017 04:36 PM, James E Keenan wrote:
>[snip]
>
> 7. Wrote second perl program (attached) called 'order-battle.pl' to
> record the order in which various modules *first* appeared in the
> 'fails' file and the total number of times each module was cited.
> Results are attached as 'order-of-battle-20170330.txt'.
>
> What is the "order of battle"?  It's the order in which, as of today, we
> need to get new CPAN releases out so that down-river distros are no
> longer failing due to failures in their upstream dependencies.
>
> For example, today David Golden prepared a new version of Sub::Uplevel
> -- the #1 distro in the order of battle.  Once he releases that to CPAN,
> a tremendous number of downstream distros will have their prerequisites
> satisfied and -- assuming they don't have their own configure/build/test
> failures -- will become installable via this perl-5.26.0-friendly cpanm.
>

Over the past week I have conducted two more rounds of testing using the
approach previously discussed in this thread.  I did not report on the
second round, but the third round's results subsume the second.

1. I continue to use the file which David Golden prepared last year as
a proxy for the current state of the river.  I decompressed it to a
plain-text file called 'river-2016-02-27.txt'.

2. I continue to use get-upriver-distros.pl to parse the plain-text
file.  However, I have modified it to try to avoid selecting the
mod_perl or Team-ReadLine-Perl distributions, as their configurations
require manual intervention; I want get-upriver-distros.pl to run by
itself for hours.  (I can confirm that Term-ReadLine-Perl is
installable and 5.26.0-ready.)  I am fetching the first 5000 distros
found, which were stored in another plain-text file called
third-round-top-5000.txt.

3. Built and installed an updated perl5 blead for testing:

#####
$ ./bin/perl -v | head -2 | tail -1
This is perl 5, version 26, subversion 0 (v5.26.0 
(v5.25.11-27-g1b92e69)) built for x86_64-linux
#####

.... and installed Miyagawa's up-to-the-minute cpanm against that perl.

#####
$ ./bin/perl -MApp::cpanminus -E 'say $App::cpanminus::VERSION;'
1.7043
#####

I expect this upgrade to have major benefits.  Among other things, it
resolved the perl-5.26.0-compatibility of one of Miyagawa's own
distros:

#####
$ ./bin/cpanm Plack::Middleware::Session
--> Working on Plack::Middleware::Session
Fetching 
http://www.cpan.org/authors/id/M/MI/MIYAGAWA/Plack-Middleware-Session-0.30.tar.gz 
.... OK
Configuring Plack-Middleware-Session-0.30 ... OK
Building and testing Plack-Middleware-Session-0.30 ... OK
Successfully installed Plack-Middleware-Session-0.30
1 distribution installed
#####

4. Adapting nudge from KENTNL, I worked from a just-updated local minicpan
repository.

#####
     cd ~/testing/blead
     date > startcpanm
     cat /home/jkeenan/learn/perl/cpan-river/third-round-top-5000.txt | \
         xargs bin/cpanm --mirror ~/minicpan --verbose; date > endcpanm
#####

5. Copied and renamed the 'cpanm' build.log to 20170404-5000-build.log.gz.

6. grepped out relevant lines from the build log:

#####
zgrep FAIL 20170404-5000-build.log.gz | grep -v 'Result: FAIL' | \
     sed -e 's/^-> //' > 20170404-5000-fails.txt
#####

7. Used a revised version of 'order-battle.pl' to record the order in
which various modules *first* appeared in the 'fails' file and the
total number of times each module was cited. Results are attached as
'order-of-battle-20170404.txt'.

What is the "order of battle"?  It's an approximation of the order in
which, as of today, we need to get new CPAN releases out so that
down-river distros are no longer failing due to failures in their
upstream dependencies.

For example, on March 30 David Golden prepared a new version of
Sub::Uplevel -- the #1 distro in the order of battle.  He released that
to CPAN on April 01.  Once he released that to CPAN, a tremendous number
of downstream distros had their prerequisites satisfied and -- barring
their own configure/build/test failures -- became installable via this
perl-5.26.0-friendly cpanm.  Hence, apart from the fact that in the
first round I only looked at the first 1000 entries in the input file
while in the third round I looked at the first 5000 entries, many
entries found in 20170330's file have gone away in 20170404's file and
the tip of the order of battle looks substantially different.

This approach is useful for me because I only have a laptop to work
with.  YMMV.

Thank you very much.
Jim Keenan



--------------CD2581B952FA78F6A175EEF2
Content-Type: text/plain; charset=UTF-8;
 name="order-of-battle-20170404.txt"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="order-of-battle-20170404.txt"

ICAxICBBbnlFdmVudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICA2MgogIDIgIERhdGE6OlByaW50ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDEyCiAgMyAgWE1MOjpBdG9tICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDYKICA0ICBUayAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNAogIDUgIEFueUV2ZW50OjpIVFRQICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE0CiAgNiAgUGFyYW1zOjpD
bGFzc2lmeSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDgKICA3ICBE
ZXZlbDo6Q292ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
NwogIDggIEdsaWIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDEyCiAgOSAgQ2Fpcm8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDQKIDEwICBQYW5nbyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgMwogMTEgIEd0azIgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwCiAxMiAgQWxpZW46Ond4V2lkZ2V0
cyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQKIDEzICBXeCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNwogMTQg
IENsYXNzOjpNaXggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAyCiAxNSAgQ3J5cHQ6OkVrc2Jsb3dmaXNoICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDIKIDE2ICBYTUw6OkZlZWQgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgNQogMTcgIENvcm8gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICA2CiAxOCAgTmV0OjpTZXJ2ZXIgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMKIDE5ICBMb2NhbGU6OlRleHRE
b21haW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNgogMjAgIE1vb1g6
Ok9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA3CiAy
MSAgTG9jYWxlOjpNZXNzYWdlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDIKIDIyICBMb2NhbGU6OlRleHREb21haW46OlVURjggICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgNQogMjMgIFd4OjpQZXJsOjpQcm9jZXNzU3RyZWFtICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAxCiAyNCAgV3g6OlNjaW50aWxsYSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKIDI1ICBEZWJ1Zzo6Q2xpZW50ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQogMjYgIFBhZHJlICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyCiAyNyAgUGFy
c2U6OllhcHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIK
IDI4ICBUZW1wbGF0ZTo6RGVjbGFyZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgNAogMjkgIERhdGE6OkFsaWFzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAxCiAzMCAgVHdpZ2d5ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDMKIDMxICBEYXRhOjpFbnRyb3B5ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQogMzIgIFBlcmluY2k6OlN1Yjo6UHJv
cGVydHk6OnJlc3VsdDo6dGFibGUgICAgICAgICAgICAgICAgICAzCiAzMyAgU3Rhcm1hbiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUKIDM0ICBD
YXRhbHlzdDo6RGV2ZWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
MwogMzUgIEFueU1RICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAyCiAzNiAgQm90OjpCYXNpY0JvdDo6UGx1Z2dhYmxlICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDEKIDM3ICBNYXA6OlR1YmUgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAxMwogMzggIFRlc3Q6OlN0cmljdCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyCiAzOSAgUGVyaW5jaTo6U3ViOjpH
ZW46OkFjY2Vzc1RhYmxlICAgICAgICAgICAgICAgICAgICAgICAgIDMKIDQwICBUZXN0OjpB
Z2dyZWdhdGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQogNDEg
IFRpZTo6SGFzaDo6SW5kZXhlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAzCiA0MiAgV2ViOjpIaXBwaWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDEKIDQzICBDcnlwdDo6RWtzYmxvd2Zpc2g6OkJjcnlwdCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgMgogNDQgIENyeXB0OjpFa3NibG93ZmlzaDo6VWtsYmxvd2Zp
c2ggICAgICAgICAgICAgICAgICAgICAgICAxCiA0NSAgRGF0YTo6RW50cm9weTo6QWxnb3Jp
dGhtcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKIDQ2ICBBdXRoZW46OlBhc3Nw
aHJhc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMwogNDcgIE9iamVj
dDo6RXZlbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1CiA0
OCAgSmlmdHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDEKIDQ5ICBFbmNvZGU6OmNvbXBhdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMQogNTAgIEFsaWVuOjpTVk4gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAxCiA1MSAgVGVzdDo6QmxvY2sgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQKIDUyICBEYXRhOjpTd2FwICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMgogNTMgIFdpbjMyOjpXaW5F
cnJvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCiA1NCAgV2lu
MzJBUEk6OlJlZ2lzdHJ5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIK
IDU1ICBXaW4zMjo6VGllUmVnaXN0cnkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgMQogNTYgIFBsdWNlbmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAzCiA1NyAgQjo6SG9va3M6OlBhcnNlciAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDQKIDU4ICBSZWdleHA6OkdyYW1tYXJzICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNQogNTkgIFRlc3Q6Ok1hcDo6VHViZSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA5CiA2MCAgWE1MOjpBdG9t
OjpFbnRyeSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKIDYxICBY
TUw6OkF0b206OkZlZWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
MQogNjIgIExhYnlyaW50aCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICA1CiA2MyAgQWxpZW46OlNETCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDIKIDY0ICBUaW1lOjpGb3JtYXQgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgMgogNjUgIExXUDo6Q29uc29sZUxvZ2dlciAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCiA2NiAgSFRNTDo6V2lraUNvbnZl
cnRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIKIDY3ICBLaW9rdURC
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNAogNjgg
IERpZ2VzdDo6QmNyeXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAxCiA2OSAgTFdQOjpDb25zb2xlTG9nZ2VyOjpFYXN5ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDEKIDcwICBXV1c6Ok1lY2hhbml6ZTo6Q2FjaGVkICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgMgogNzEgIFNETCAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAxCiA3MiAgQW55RXZlbnQ6OlNvY2tldCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQKIDczICBBbnlFdmVudDo6VXRp
bCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMwogNzQgIEFueUV2
ZW50OjpIYW5kbGU6OlVEUCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyCiA3
NSAgQ3J5cHQ6Ok9wZW5TU0w6Olg1MDkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDQKIDc2ICBIVE1MOjpUaWR5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMwogNzcgIEFueUV2ZW50OjpDYWNoZUROUyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAyCiA3OCAgcG9kbGlua2NoZWNrICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKIDc5ICBQbGFjazo6QXBwOjpQcm94eSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMwogODAgIFZNOjpFQzIgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyCiA4MSAgSU86
OkV2ZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIK
IDgyICBQT0U6OkNvbXBvbmVudDo6U1NMaWZ5ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgMwogODMgIFRlc3Q6OlVuaXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAzCiA4NCAgQXBwOjpQb2RMaW5rQ2hlY2s6OlBhcnNlU2VjdGlvbnMg
ICAgICAgICAgICAgICAgICAgICAgIDEKIDg1ICBBcHA6OlBvZExpbmtDaGVjazo6UGFyc2VM
aW5rcyAgICAgICAgICAgICAgICAgICAgICAgICAgMQogODYgIFRlc3Q6OlBvZDo6TGlua0No
ZWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzCiA4NyAgQW55RXZlbnQ6
OkhhbmRsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDcKIDg4ICBO
ZXQ6OkxpYklETiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
MwogODkgIEFueUV2ZW50OjpYTVBQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAxCiA5MCAgR2xpYjo6T2JqZWN0OjpJbnRyb3NwZWN0aW9uICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDQKIDkxICBWTTo6RUMyOjpJbnN0YW5jZTo6TWV0YWRhdGEgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgMQogOTIgIFZNOjpFQzI6OlNlY3VyaXR5OjpDcmVk
ZW50aWFsQ2FjaGUgICAgICAgICAgICAgICAgICAgICAzCiA5MyAgTWVzc2FnZTo6UGFzc2lu
ZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKIDk0ICBHbGliOjpP
YmplY3Q6OlN1YmNsYXNzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNgogOTUg
IEdsaWI6OkV4OjpPYmplY3RCaXRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAxCiA5NiAgUHJpbWEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDEKIDk3ICBDaGVtaXN0cnk6Ok1vbCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgOAogOTggIEhUVFA6Ok1vYmlsZUFnZW50ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICA0CiA5OSAgUGVyc2lzdGVudFBlcmwgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIKMTAwICBMYWJ5cmludGg6OlBs
dWdpbjo6Q29yZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMwoxMDEgIFBlcmlu
Y2k6OkNtZExpbmU6OkNsYXNzaWMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjEw
MiAgUGVybFg6OkFzc2VydCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDIKMTAzICBBbnlFdmVudDo6UmFiYml0TVEgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMwoxMDQgIERCSXg6OkZ1bGxUZXh0U2VhcmNoICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAxCjEwNSAgRGlzdDo6WmlsbGE6OlBsdWdpbjo6VGVzdDo6
UG9kOjpMaW5rQ2hlY2sgICAgICAgICAgICAgIDMKMTA2ICBNb29wcyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQoxMDcgIExhYnlyaW50aDo6
VGVzdDo6SGFybmVzcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzCjEwOCAgRGlz
dDo6WmlsbGE6OkFwcDo6Q29tbWFuZDo6Y292ZXIgICAgICAgICAgICAgICAgICAgICAgIDIK
MTA5ICBEaXN0OjpaaWxsYTo6UGx1Z2luOjpDb250cmlidXRvcnNGcm9tR2l0ICAgICAgICAg
ICAgICAgMwoxMTAgIEFwcDo6Ym1rcGFzc3dkICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAyCjExMSAgRmlsZTo6RmxvY2sgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDMKMTEyICBHRCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOQoxMTMgIEdEOjpTZWN1cml0eUltYWdl
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyCjExNCAgQm90OjpDb2Jh
bHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKMTE1ICBN
YXlwb2xlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
MQoxMTYgIFR5cGU6OlRpbnk6OlNpZ25hdHVyZXMgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAyCjExNyAgUGNvcmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDEKMTE4ICBEZXZpY2U6OkNoaXAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgMQoxMTkgIERhdGE6Ok9iamVjdCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyCjEyMCAgWE1MOjpFYXN5ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIKMTIxICBDb25maWc6
Ok9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMgoxMjIg
IERKYWJiZXJkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAxCjEyMyAgSU86OlV0aWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDMKMTI0ICBDbGFzczo6REJJOjpEQVRBOjpTY2hlbWEgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgMgoxMjUgIFN0cmluZzo6RGlmZiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAyCjEyNiAgQ29ybzo6RXZlbnQgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKMTI3ICBDb250aW51aXR5ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMgoxMjggIEdsaWI6
OkV4OjpGcmVlemVOb3RpZnkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjEy
OSAgR2xpYjo6RXg6OlNpZ25hbElkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDQKMTMwICBHdGsyOjpQYW5nbyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMQoxMzEgIEd0azI6OkV4OjpXaWRnZXRCaXRzICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAxCjEzMiAgV1dXOjpNZWNoYW5pemU6OkNhY2hlZDo6R1pp
cCAgICAgICAgICAgICAgICAgICAgICAgICAgIDIKMTMzICBOZXQ6OkFtYXpvbjo6UzMgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQoxMzQgIFRlc3Q6OlByZXR0
eSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjEzNSAgU2hp
cEl0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEK
MTM2ICBNb3VzZVg6OkFwcDo6Q21kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgMgoxMzcgIENhaXJvOjpHT2JqZWN0ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAzCjEzOCAgRmlsZTo6TGliTWFnaWMgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDEKMTM5ICBIVFRQOjpTZXJ2ZXI6OlNpbXBsZTo6U3Rh
dGljICAgICAgICAgICAgICAgICAgICAgICAgICAgMgoxNDAgIERCSXg6OlNraW5ueSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyCjE0MSAgUGFyc2U6Ollh
cHA6OkRyaXZlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIKMTQyICBH
cmFwaDo6UmVhZFdyaXRlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
MQoxNDMgIEVuY29kZTo6SlA6Ok1vYmlsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAyCjE0NCAgQ2xhc3M6Ok1ha2VNZXRob2RzICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDIKMTQ1ICBIVFRQOjpEYWVtb246OlNTTCAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgMgoxNDYgIERpc3Q6OlppbGxhOjpSb2xlOjpNZXRh
Q1BBTkludGVyZmFjZXIgICAgICAgICAgICAgICAgICAyCjE0NyAgRXh0VXRpbHM6OkY3NyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKMTQ4ICBGaWxlOjpQ
YXRoSW5mbyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMgoxNDkg
IE11c2ljOjpUYWcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAxCjE1MCAgUGVybDo6UHJlcmVxU2Nhbm5lcjo6TGl0ZSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDMKMTUxICBUazo6UG9kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgMQoxNTIgIEVtYWlsOjpTdG9yZSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICA2CjE1MyAgUE9FOjpMb29wOjpBbnlFdmVudCAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIKMTU0ICBBdXRoZW46OlBhc3Nw
aHJhc2U6OkJsb3dmaXNoQ3J5cHQgICAgICAgICAgICAgICAgICAgICAgMQoxNTUgIEF1dGhl
bjo6UGFzc3BocmFzZTo6U2FsdGVkRGlnZXN0ICAgICAgICAgICAgICAgICAgICAgICAxCjE1
NiAgREJJeDo6Q2xhc3M6OkluZmxhdGVDb2x1bW46OkF1dGhlbjo6UGFzc3BocmFzZSAgICAg
ICAgIDIKMTU3ICBOZXQ6OkROUzo6TGl0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMQoxNTggIFRreCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAyCjE1OSAgUXVldWU6OkJhc2UgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIKMTYwICBLaW5vU2VhcmNoICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMgoxNjEgIEhUTUw6OlRlbXBs
YXRlOjpEZWZhdWx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzCjE2MiAgQXV0
aGVuOjpQYXNzcGhyYXNlOjpSZWplY3RBbGwgICAgICAgICAgICAgICAgICAgICAgICAgIDIK
MTYzICBEQkl4OjpDbGFzczo6UGFzc3BocmFzZUNvbHVtbiAgICAgICAgICAgICAgICAgICAg
ICAgICAgMgoxNjQgIFNRTDo6U3BsaXRTdGF0ZW1lbnQgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAyCjE2NSAgTWF0aDo6QmlnaW50ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDEKMTY2ICBOZXQ6OkRBQVA6OkRNQVAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMwoxNjcgIEd0azI6Ok1vekVtYmVkICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyCjE2OCAgQ2xhc3M6Omdy
b3VwcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIKMTY5ICBD
bGFzczo6VXRpbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
MgoxNzAgIENsYXNzOjpjb25zdHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAyCjE3MSAgQ2xhc3M6OnByb3BzICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDIKMTcyICBPYmplY3Q6Omdyb3VwcyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgMQoxNzMgIE9iamVjdDo6cHJvcHMgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyCjE3NCAgQ0dJOjpCdWlsZGVyICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKMTc1ICBVTklWRVJT
QUw6OnJlZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQoxNzYg
IFRlc3Q6Okdyb3VwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAyCjE3NyAgR3RrMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDIKMTc4ICBEYXRlVGltZTo6VGltZVpvbmU6OlN5c3RlbVYgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgMgoxNzkgIE5ldDo6SmFiYmVyICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAxCjE4MCAgWEFPOjpCYXNlICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIKMTgxICBNb3ppbGxhOjpET00g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMgoxODIgIE1vemls
bGE6Ok1lY2hhbml6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyCjE4
MyAgVHJlZTo6WFBhdGhFbmdpbmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDIKMTg0ICBQZXJsSU86OlV0aWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMgoxODUgIEFueUV2ZW50OjpETlMgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAxCjE4NiAgSU86OlN0cmVhbSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKMTg3ICBEaXN0OjpaaWxsYTo6UGx1Z2lu
OjpQZXJsVGlkeSAgICAgICAgICAgICAgICAgICAgICAgICAgMQoxODggIEFueUV2ZW50OjpX
ZWJTb2NrZXQ6OkNsaWVudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAyCjE4OSAgQ09S
QkE6OklETCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIK
MTkwICBUeXBlczo6RGF0ZVRpbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgMgoxOTEgIEdlbzo6UHJvajQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAxCjE5MiAgR2VvOjpQb2ludCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDEKMTkzICBUZXN0OjpDaGVja0NoYW5nZXMgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMgoxOTQgIEI6Okhvb2tzOjpPUDo6Q2hl
Y2s6OkVudGVyc3ViRm9yQ1YgICAgICAgICAgICAgICAgICAgICAyCjE5NSAgTW9vc2VYOjpY
U0FjY2Vzc29yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIKMTk2ICBU
ZXN0OjpBZ2dyZWdhdGU6Ok5lc3RlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
MQoxOTcgIENhdGFseXN0OjpDb250cm9sbGVyOjpIVE1MOjpGb3JtRnUgICAgICAgICAgICAg
ICAgICAgICAyCjE5OCAgU1ZOOjpTaW1wbGU6OkVkaXQgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDMKMTk5ICBTVk46OkNvcmUgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgMQoyMDAgIFNWTjo6TWlycm9yICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyCjIwMSAgUkRGOjpTaW1wbGUgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKMjAyICBEZXppOjpB
cHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMwoyMDMg
IFNxdWF0dGluZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAxCjIwNCAgQ0dJOjpXaWtpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDEKMjA1ICBDaGVtaXN0cnk6OkJvbmQ6OkZpbmQgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgMwoyMDYgIExvY2FsZTo6TWFrZXRleHQ6OkdldHRleHQgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAyCjIwNyAgUGV0YWwgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMKMjA4ICBEaXJlY3Rvcnk6OlNj
cmF0Y2g6OlN0cnVjdHVyZWQgICAgICAgICAgICAgICAgICAgICAgICAgMgoyMDkgIEJvdDo6
QmFja2JvbmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjIx
MCAgQW55RXZlbnQ6OklSQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDIKMjExICBOZXQ6OlNlcnZlcjo6Q29ybyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMgoyMTIgIEFQSTo6Q2xpZW50ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAxCjIxMyAgUE9FOjpMb29wOjpUayAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIKMjE0ICBNYXhNaW5kOjpEQjo6UmVhZGVy
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMgoyMTUgIFdXVzo6VmVudXNF
bnZ5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyCjIxNiAgRGFl
bW9uOjpHZW5lcmljICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIK
MjE3ICBUZXN0OjpQT0U6OlN0b3BwaW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgNAoyMTggIE1vZHVsZTo6RGVwZW5kcyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAxCjIxOSAgS2lva3VEQjo6RW50cnkgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDEKMjIwICBLaW9rdURCOjpCYWNrZW5kOjpSb2xlOjpH
QyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQoyMjEgIEtpb2t1REI6OkJhY2tlbmQg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjIyMiAgS2lva3VEQjo6
QmFja2VuZDo6Um9sZTo6UXVlcnk6OkdJTiAgICAgICAgICAgICAgICAgICAgIDEKMjIzICBL
aW9rdURCOjpCYWNrZW5kOjpSb2xlOjpTY2FuICAgICAgICAgICAgICAgICAgICAgICAgICAg
MQoyMjQgIEtpb2t1REI6OlR5cGVNYXA6OkVudHJ5OjpOYWl2ZSAgICAgICAgICAgICAgICAg
ICAgICAgICAxCjIyNSAgS2lva3VEQjo6VGVzdCAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDEKMjI2ICBLaW9rdURCOjpCYWNrZW5kOjpSb2xlOjpUWE4gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgMQoyMjcgIEtpb2t1REI6OkJhY2tlbmQ6OlJvbGU6
OlF1ZXJ5OjpTaW1wbGUgICAgICAgICAgICAgICAgICAxCjIyOCAgS2lva3VEQjo6QmFja2Vu
ZDo6Um9sZTo6Q2xlYXIgICAgICAgICAgICAgICAgICAgICAgICAgIDEKMjI5ICBLaW9rdURC
OjpUeXBlTWFwOjpFbnRyeSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQoyMzAg
IEtpb2t1REI6OlR5cGVNYXAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAxCjIzMSAgS2lva3VEQjo6QmFja2VuZDo6Um9sZTo6Q29uY3VycmVuY3k6OlBPU0lYICAg
ICAgICAgICAgIDEKMjMyICBLaW9rdURCOjpCYWNrZW5kOjpTZXJpYWxpemU6OkRlbGVnYXRl
ICAgICAgICAgICAgICAgICAgMQoyMzMgIEtpb2t1REI6OkJhY2tlbmQ6OkRCSSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAxCjIzNCAgUGVybElPOjp2aWE6OnN5bWxpbmsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKMjM1ICBXV1c6OkRpbGJlcnQg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMgoyMzYgIERhdGVU
aW1lOjpUaW1lWm9uZTo6VHpmaWxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjIz
NyAgRGV2aWNlOjpVU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDEKMjM4ICBEYXRhRmxvdyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMQoyMzkgIFhBTzo6RlMgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAxCjI0MCAgTGluZ3VhOjpUcmFuc2xhdGUgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKMjQxICBDaGVtaXN0cnk6OkNhbm9uaWNh
bGl6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMwoyNDIgIENvbXByZXNzOjpS
YXc6Okx6bWEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyCjI0MyAgTEVP
Q0hBUlJFOjpDTEkyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEK
MjQ0ICBPZ2c6OlZvcmJpczo6SGVhZGVyOjpQdXJlUGVybCAgICAgICAgICAgICAgICAgICAg
ICAgICAgMgoyNDUgIEVudGl0eU1vZGVsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAyCjI0NiAgRGlzdDo6WmlsbGE6OlBsdWdpbkJ1bmRsZTo6VGVzdGlu
Z01hbmlhICAgICAgICAgICAgICAgIDEKMjQ3ICBNQVJDOjpYTUwgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQoyNDggIE5ldDo6TGliZG5ldCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzCjI0OSAgRGF0ZVRpbWU6
OkFzdHJvICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIKMjUwICBE
eW5HaWc6OlJhbmdlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
MgoyNTEgIE5ldDo6UGNhcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICA1CjI1MiAgTmV0OjpXcml0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDIKMjUzICBEZXZlbDo6Q292ZXI6OlJlcG9ydDo6Q292ZXJhbGxz
ICAgICAgICAgICAgICAgICAgICAgICAgMQoyNTQgIEFsZ29yaXRobTo6UGVybXV0ZSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyCjI1NSAgQW55RXZlbnQ6OkhUVFBE
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKMjU2ICBUYXNrOjpD
YXRhbHlzdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMgoyNTcg
IERldmVsOjpFdmVudHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAyCjI1OCAgTWVkaWFXaWtpOjpCb3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDEKMjU5ICBDaGVtaXN0cnk6OlJpbmcgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgMgoyNjAgIE1vb3NlWDo6VHlwZXM6OkRhdGVUaW1lOjpCdXRN
YWludGFpbmVkICAgICAgICAgICAgICAgICAyCjI2MSAgWk1ROjpMaWJaTVEyICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKMjYyICBaTVEgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMgoyNjMgIFNwcmVh
ZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjI2
NCAgUE9FOjpDb21wb25lbnQ6OkdlbmVyaWMgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDEKMjY1ICBpbnZva2VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMgoyNjYgIFRlc3Q6OlRlbXBEYXRhYmFzZSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAzCjI2NyAgUE9FOjpEZWNsYXJlICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMKMjY4ICBXV1c6OkNvbWljICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQoyNjkgIFNlYXJjaDo6T3Bl
blNlYXJjaDo6RW5naW5lOjpMdWN5ICAgICAgICAgICAgICAgICAgICAgICAyCjI3MCAgQ29u
ZmlnOjpTdGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEK
MjcxICBEaXN0OjpaaWxsYTo6UGx1Z2luQnVuZGxlOjpQcmVyZXFzICAgICAgICAgICAgICAg
ICAgICAgMQoyNzIgIFJFU1Q6Okdvb2dsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAxCjI3MyAgTW9naWxlRlM6OlNlcnZlciAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDEKMjc0ICBNYWM6OlByb2Nlc3NlcyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMgoyNzUgIE1hYzo6QXBwczo6TGF1bmNo
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzCjI3NiAgTWFjOjpBcHBs
ZUV2ZW50cyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKMjc3ICBN
YWM6OkFwcGxlRXZlbnRzOjpTaW1wbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
MgoyNzggIE1hYzo6Q2FyYm9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAxCjI3OSAgTWFjOjpHbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDEKMjgwICBDYXRhbHlzdDo6SGVscGVyICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgMgoyODEgIENhdGFseXN0OjpWaWV3OjpIVE1MOjpN
YXNvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAyCjI4MiAgU29jaWFsdGV4dDo6UmVz
dGluZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIKMjgzICBUZXJtOjpU
ZXJtS2V5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQoyODQg
IENHSTo6QXBwbGljYXRpb246OlNlcnZlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAxCjI4NSAgUGVybDo6Q3JpdGljOjpEeW5hbWljICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDIKMjg2ICBJbWFnZTo6TWFnaWNrICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgNQoyODcgIFN0cmVhbTo6RmlsZUlucHV0U3RyZWFtICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAyCjI4OCAgQ0FEOjpEcmF3aW5nICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKMjg5ICBtZXRob2RzICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQoyOTAgIFhNTDo6
TGliZXJhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjI5
MSAgUG9ja2V0SU8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDEKMjkyICBQZXJsSU86OnZpYTo6Z3ppcCAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMgoyOTMgIEd0azI6OkV4OjpVdGlscyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAyCjI5NCAgUEFVU0U6OlBlcm1pc3Npb25zICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIKMjk1ICBQT0U6OkNvbXBvbmVudDo6TWV0
YWJhc2U6OkNsaWVudDo6U3VibWl0ICAgICAgICAgICAgICAgMgoyOTYgIEltYWdlOjpSZXNp
emUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjI5NyAgR3Rr
Mjo6Q29kZUdlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIK
Mjk4ICBHbGliOjpNYWtlSGVscGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgMgoyOTkgIEd0azI6OldlYktpdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAyCjMwMCAgR2FwcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDEKMzAxICBIVFRQOjpFbmdpbmUgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQozMDIgIEdlYXJtYW46OlhTICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjMwMyAgVGVzdDo6V1dX
OjpTaW1wbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIKMzA0ICBB
cHA6OlNpbXBsZVNjYW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
MQozMDUgIERCSXg6Ok11bHRpU3RhdGVtZW50RG8gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAyCjMwNiAgVGlja2l0OjpXaWRnZXQ6OlNjcm9sbGVyICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDIKMzA3ICBDaGVtaXN0cnk6OlBhdHRlcm4gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgMQozMDggIExleGljYWw6OlZhciAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjMwOSAgV29yZE5ldDo6UXVlcnlE
YXRhICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKMzEwICBUazo6VG9v
bEJhciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMgozMTEg
IFRlc3Q6OkRlY2xhcmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAxCjMxMiAgSFRNTDo6V2lkZ2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDEKMzEzICBYMTE6OkdVSVRlc3QgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgMgozMTQgIE1ldGFkYXRhOjpEQiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAxCjMxNSAgWE1MOjpIYXNoOjpMWCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKMzE2ICBBdXRoZW46OkxpYndy
YXAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQozMTcgIFBPRTo6
Q29tcG9uZW50OjpSZXNvdXJjZVBvb2wgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjMx
OCAgWk1ROjpGRkkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDEKMzE5ICBBbnlFdmVudDo6REJJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMQozMjAgIFNvY2lhbHRleHQ6OlJlc3Rpbmc6OlV0aWxzICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAxCjMyMSAgVGVzdDo6Q0dJOjpVbnRhaW50ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKMzIyICBYTUw6OkxpYlhTTFQgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMwozMjMgIFhNTDo6R3JhbW1h
ckJhc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjMyNCAgQmVu
Y2htYXJrQW55dGhpbmc6OlN0b3JhZ2U6OkZyb250ZW5kOjpMaWIgICAgICAgICAgICAgIDMK
MzI1ICBMYWJ5cmludGg6OkRJVXRpbHM6OkltYWdlTWFnaWNrICAgICAgICAgICAgICAgICAg
ICAgICAgMQozMjYgIE1vb3NlWDo6VHlwZXM6OkF1dGhlbjo6UGFzc3BocmFzZSAgICAgICAg
ICAgICAgICAgICAgICAyCjMyNyAgQW55RXZlbnQ6OlJlYWRMaW5lOjpHbnUgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDIKMzI4ICBMYWJ5cmludGg6OlBsdWdpbjo6Q1BBTiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQozMjkgIER5bkdpZzo6UmFuZ2U6OlRp
bWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyCjMzMCAgS3dpa2k6OlRl
c3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKMzMxICBQ
T0U6OlhTOjpMb29wOjpFUG9sbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
MwozMzIgIFBPRTo6Q29tcG9uZW50OjpNZXRhYmFzZTo6UmVsYXk6OlNlcnZlciAgICAgICAg
ICAgICAgICAyCjMzMyAgQXBwOjp0cmFjZXBtICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDIKMzM0ICBXZWJTZXJ2aWNlOjpTb2xyICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgMQozMzUgIExXUDo6VXNlckFnZW50OjpXaXRoQ2Fj
aGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjMzNiAgSU86OkZpbGU6OkF0b21p
Y0NoYW5nZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIKMzM3ICBDbGFzczo6
REJJOjpBc0Zvcm0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQozMzgg
IENHSTo6QXBwbGljYXRpb246OlBsdWdpbjo6Vmlld0NvZGUgICAgICAgICAgICAgICAgICAg
ICAyCjMzOSAgRXhvYnJhaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDEKMzQwICBDb3JvbmEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgMgozNDEgIEtpb2t1WDo6TW9kZWwgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAxCjM0MiAgRGF0YTo6RGVjb2RlICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIKMzQzICBHcmFwaGljczo6UHJp
bWl0aXZlOjpEcml2ZXI6OkNhaXJvICAgICAgICAgICAgICAgICAgICAgMgozNDQgIFRyZWV4
OjpDb3JlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyCjM0
NSAgTWFjOjpGU0V2ZW50cyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDEKMzQ2ICBOZXQ6OkRBQVA6OkNsaWVudCAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMQozNDcgIFNsZWVweWNhdDo6RGJYbWwgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAxCjM0OCAgcGVyZlNPTkFSX1BTOjpEQjo6WE1MREIgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKMzQ5ICBRdWRvICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQozNTAgIE1haWw6OlNQRiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjM1MSAgRERQ
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEK
MzUyICBHaXQ6OkNQQU46OlBhdGNoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgMQozNTMgIFN5bnRheDo6SGlnaGxpZ2h0OjpVbml2ZXJzYWwgICAgICAgICAgICAg
ICAgICAgICAgICAgICAxCjM1NCAgTGludXg6OlNtYXBzICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDIKMzU1ICBQcm9jZXNzOjpTaXplTGltaXQ6OkNvcmUg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMgozNTYgIFRocmVhZDo6U2VyaWFsaXpl
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjM1NyAgTW9kZXJuOjpQ
QlA6OlBlcmwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIKMzU4ICBH
cmFwaGljczo6R251cGxvdElGICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
MQozNTkgIENvcm86OkFueUV2ZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAxCjM2MCAgTmV0OjpSYWJiaXRGb290ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDEKMzYxICBUZXN0OjpGbGF0dGVuICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgMQozNjIgIENhdG1hbmR1OjpYTUwgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjM2MyAgRGV2ZWw6OkJlZ2luTGlm
dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKMzY0ICBCdXNpbmVz
czo6UGF5UGFsOjpBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQozNjUg
IERhdGVUaW1lOjpGb3JtYXQ6OkNMRFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAxCjM2NiAgQ291Y2hEQjo6VmlldyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDIKMzY3ICBUZXh0OjpDYXBpdGFsaXplICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgMQozNjggIFRleHQ6OkFzcGVsbCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAxCjM2OSAgRmFjZWJvb2s6OkdyYXBoICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKMzcwICBDcnlwdDo6U29kaXVt
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMgozNzEgIElQQzo6
VHJhbnNpdDo6UmVtb3RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjM3
MiAgSVBDOjpUcmFuc2l0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDMKMzczICBIYWlsbyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMQozNzQgIEFueUV2ZW50OjpGcmllbmRGZWVkOjpSZWFsdGltZSAgICAg
ICAgICAgICAgICAgICAgICAgICAyCjM3NSAgQW55RXZlbnQ6OlR3aXR0ZXI6OlN0cmVhbSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIKMzc2ICBBbnlFdmVudDo6VHdpdHRlciAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMgozNzcgIEFueVNhbiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjM3OCAgVVJQ
TSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIK
Mzc5ICBIb29rOjpBZnRlclJ1bnRpbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgMQozODAgIG9ubHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAyCjM4MSAgQW55RXZlbnQ6OkhUVFA6OlNjb3BlZENsaWVudCAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDEKMzgyICBHdGsyOjpFeDo6RGlhbG9ncyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQozODMgIE9iamVjdDo6SW1wb3J0ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjM4NCAgQWNtZTo6TE9M
Q0FUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKMzg1ICBX
eDo6UGVybDo6TGlzdEN0cmwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
MgozODYgIFRhcHBlcjo6TUNQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAxCjM4NyAgVVJJOjpGaW5kOjpTY2hlbWVsZXNzOjpTdHJpY3RlciAgICAgICAg
ICAgICAgICAgICAgICAgIDEKMzg4ICBUZXN0OjpNaW5pICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgMgozODkgIFBpbnRvICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyCjM5MCAgTmV0OjpTTVRQOjpSZWNl
aXZlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIKMzkxICBBdHRyaWJ1
dGU6OkxleGljYWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQozOTIg
IE5ldFNEUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAxCjM5MyAgQW55RXZlbnQ6OlJlZGlzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDEKMzk0ICBEZXZlbDo6RXZlbnRzOjpPYmplY3RzICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgMQozOTUgIFBhZHJlOjpQbHVnaW46OlNoZWxsOjpCYXNlICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAxCjM5NiAgVUFWOjpQaWxvdCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKMzk3ICBYTUw6OkxpYlhNTDo6
U0FYOjpDaHVua1BhcnNlciAgICAgICAgICAgICAgICAgICAgICAgICAgMQozOTggIFBPRTo6
Q29tcG9uZW50OjpDaGlsZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjM5
OSAgVGFwcGVyOjpSZXBvcnRzOjpXZWIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDEKNDAwICBOZXQ6OlNlcnZlcjo6Rm9yayAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMQo0MDEgIFRhcHBlcjo6UmVwb3J0czo6QVBJICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAxCjQwMiAgQ2hlbWlzdHJ5OjpGaWxlOjpTTUlMRVMgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKNDAzICBCZW5jaG1hcmtBbnl0aGluZzo6
U3RvcmFnZTo6RnJvbnRlbmQ6OlRvb2xzICAgICAgICAgICAgMgo0MDQgIFRhcHBlcjo6Q0xJ
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjQwNSAgR2xp
Yjo6RXg6OkNvbm5lY3RQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEK
NDA2ICBBbnlFdmVudDo6U2VyaWFsUG9ydCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgMQo0MDcgIE9yZVBBTjIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAxCjQwOCAgRm9ybTo6UHJvY2Vzc29yICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDEKNDA5ICBUZXN0OjpNaW5pOjpVbml0ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQo0MTAgIFBPRTo6TG9vcDo6R2xpYiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjQxMSAgUE9FOjpEZWNs
YXJlOjpIVFRQOjpDbGllbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKNDEyICBZ
b3VyaTo6UGFja2FnZTo6UlBNOjpHZW5lcmF0b3IgICAgICAgICAgICAgICAgICAgICAgICAg
MQo0MTMgIExpbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAxCjQxNCAgR2VvSVAyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDEKNDE1ICBBcHA6OmRlcGFrICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgMQo0MTYgIEtpb2t1WDo6VXNlciAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjQxNyAgQmlvOjpSYW5nZSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKNDE4ICBCaW86OlJv
b3Q6OlZlcnNpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQo0MTkg
IEJpbzo6UHJpbWFyeVNlcSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAxCjQyMCAgQmlvOjpDaGFkbzo6U2NoZW1hICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDEKNDIxICBBbnlFdmVudDo6UHJvY2Vzc29yICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgMQo0MjIgIENsb25lOjpGYXN0ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAxCjQyMyAgQ2F0YWx5c3Q6OlBsdWdpbjo6U2Vy
dmVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKNDI0ICBHdGsyOjpOb3RpZnkg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQo0MjUgIEVtYWls
OjpBUkYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjQy
NiAgQWxnb3JpdGhtOjpFdm9sdXRpb25hcnkgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDEKNDI3ICBDR0k6OkFwcGxpY2F0aW9uOjpQbHVnaW46OkRlYnVnU2NyZWVuICAgICAg
ICAgICAgICAgICAgMQo0MjggIFBPRTo6RmlsdGVyOjpKU09OICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAxCjQyOSAgTWFpbDo6U2VuZFZhcmlvdXMgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIKNDMwICBBbnlFdmVudDo6R2Vhcm1hbiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQo0MzEgIERhdGVUaW1lOjpF
dmVudDo6Q2hpbmVzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyCjQzMiAgTmV0
OjpGcmFtZTo6RHVtcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIK
NDMzICBIVE1MOjpUZXN0ZWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgMQo0MzQgIHFiaXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAxCjQzNSAgUElUQTo6WE1MICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDIKNDM2ICBEZXppICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQo0MzcgIFhNTDo6TGliWE1MOjpFbGVt
ZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjQzOCAgUE9FOjpGaWx0
ZXI6OlhNTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKNDM5ICBB
bnlFdmVudDo6UHJvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
MQo0NDAgIEtleWVkTXV0ZXggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAyCjQ0MSAgc2lnbmF0dXJlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDEKNDQyICBMb2NhbGU6OklEOjpQcm92aW5jZSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgMQo0NDMgIG1pbmlzbW9rZWJveCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjQ0NCAgREJJeDo6UmVjb3Jkc2V0
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKNDQ1ICBGRm1wZWc6
OkNvbW1hbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQo0NDYg
IEFueUV2ZW50OjpBZ2dyZXNzaXZlSWRsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAxCjQ0NyAgSVBDOjpUcmFuc2l0OjpSb3V0ZXIgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDIKNDQ4ICBEaWdlc3Q6Ok1ENiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgMQo0NDkgIERpZ2VzdDo6SE1BQ19NRDYgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAxCjQ1MCAgTWFjOjpHcm93bCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKNDUxICBBbnlFdmVudDo6U05N
UCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMgo0NTIgIERCRDo6
QW55RGF0YSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjQ1
MyAgQ29ybzo6UGF0Y2hTZXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDEKNDU0ICBKYXZhU2NyaXB0OjpEdW1wZXIgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMgo0NTUgIEV4dHV0aWxzOjpNYWtlTWFrZXIgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAxCjQ1NiAgVGVybTo6Q2x1aSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKNDU3ICBEZWZhdWx0czo6TW9kZXJuICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQo0NTggIExvZzo6RGlzcGF0
Y2g6OkNvbmZpZzo6VGVzdExvZyAgICAgICAgICAgICAgICAgICAgICAgICAyCjQ1OSAgUmVs
aWdpb246OkJpYmxlOjpSZWdleDo6Q29uZmlnICAgICAgICAgICAgICAgICAgICAgICAgIDIK
NDYwICBBbnlFdmVudDo6T3BlbjM6OlNpbXBsZSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgMQo0NjEgIFRhcHBlcjo6UmVwb3J0czo6UmVjZWl2ZXIgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAxCjQ2MiAgQW55RXZlbnQ6OkNvdWNoREIgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDEKNDYzICBOZXQ6OkxpYmRuZXQ2ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMgo0NjQgIEdldG9wdDo6TEwgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjQ2NSAgRnVzZSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKNDY2ICBG
dXNlOjpDbGFzcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Mgo0NjcgIENhdGFseXN0OjpWaWV3OjpUZW1wbGF0ZWQgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAyCjQ2OCAgVGs6OkpQRUcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDIKNDY5ICBUazo6UE5HICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgMgo0NzAgIFRrOjpSb2xlOjpEaWFsb2cgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyCjQ3MSAgTWVtY2FjaGVkOjpDbGll
bnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKNDcyICBBc3Rybzo6
RklUUzo6Q0ZJVFNJTyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMgo0NzMg
IEhUTUw6OkZlYXR1cmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAxCjQ3NCAgUGxhY2s6Ok1pZGRsZXdhcmU6OlByb3h5TWFwICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDIKNDc1ICBIVE1MOjpTdGlja3lRdWVyeTo6RG9Db01vR1VJRCAgICAgICAg
ICAgICAgICAgICAgICAgICAgMQo0NzYgIElPOjpDb21wcmVzczo6THptYSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAxCjQ3NyAgUGV0YWw6OlV0aWxzICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIKNDc4ICBUZXN0OjpUQVA6OkhU
TUxNYXRyaXggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQo0NzkgIFBlcmw2
OjpQb2QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjQ4
MCAgQWxnb3JpdGhtOjpGbG9vZENvbnRyb2wgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDEKNDgxICBEZXZlbDo6RFByb2YgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMQo0ODIgIFRrOjpBZGp1c3RlciAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAxCjQ4MyAgVGs6OkhMaXN0ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKNDg0ICBUazo6RGVyaXZlZCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQo0ODUgIFRrOjpNZW51YnV0
dG9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjQ4NiAgVGs6
OkZyYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEK
NDg3ICBUazo6Uk9UZXh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgMQo0ODggIFRrOjpPYmpTY2FubmVyICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAxCjQ4OSAgTWFwOjpUdWJlOjpQcmFndWUgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDEKNDkwICBNb29zZVg6OlR5cGVzOjpQYXJhbWV0ZXJp
emFibGUgICAgICAgICAgICAgICAgICAgICAgICAgMQo0OTEgIEFueUV2ZW50OjpHcmFwaGl0
ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjQ5MiAgSFRNTDo6VG9j
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKNDkzICBN
YWM6OkFwcGxlU2NyaXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
MQo0OTQgIEd0azI6OkV4OjpXaWRnZXRDdXJzb3IgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAxCjQ5NSAgTWFpbDo6QXVkaXQ6OkRLSU0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDEKNDk2ICBUTSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgMQo0OTcgIFBsdWdpbnMgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyCjQ5OCAgWE1MOjpSdWxlcyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKNDk5ICBBbnlFdmVu
dDo6TW9ja1RDUFNlcnZlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQo1MDAg
IEd0azM6OldlYktpdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAxCjUwMSAgV1dXOjpXaWtpcGVkaWEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDEKNTAyICBUZW1wbGF0ZTo6RGVjbGFyZTo6VGFncyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgMQo1MDMgIENQQU46Ok1pbmk6OldlYnNlcnZlciAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAxCjUwNCAgTmV0OjpMRE5TICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKNTA1ICBUazo6RG91YmxlQ2xp
Y2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQo1MDYgIFBpcGVs
aW5lICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjUw
NyAgQXBwOjpNdWx0aU1vZHVsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDEKNTA4ICBUazo6RGlyU2VsZWN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMQo1MDkgIERldmljZTo6QkNNMjgzNSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAxCjUxMCAgR2l0OjpHaXRhbGlzdCAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKNTExICBKZWRpICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQo1MTIgIFdpbjMyICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjUxMyAgVGVz
dDo6UGVybDo6RGlzdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEK
NTE0ICBtZXRhYmFzZTo6cmVsYXlkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgMQo1MTUgIE1ldGhvZDo6TGV4aWNhbCAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAxCjUxNiAgTGFuZ3VhZ2U6OkV4cHIgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDEKNTE3ICBBbGllbjo6V2lYOjpWZXJzaW9uMzAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQo1MTggIFdTUkY6OkxpdGUgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjUxOSAgVGs6Ok1hcmtk
b3duICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIKNTIwICBF
bnRpdHlNb2RlbDo6V2ViICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
MQo1MjEgIEFueUV2ZW50OjpXYXRjaGRvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAxCjUyMiAgTmV0OjpGcmFtZTo6RGV2aWNlICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDEKNTIzICBFbWFpbDo6U3RvcmU6OkhUTUwgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgMQo1MjQgIFN1Yjo6Q2xvbmUgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjUyNSAgTW9vc2VYOjpLZXllZE11
dGV4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKNTI2ICBXV1c6Ok9w
ZW5TZWFyY2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQo1Mjcg
IENQQU46OlRlc3Q6OkR1bW15OjpQZXJsNTo6TWFrZTo6Q2lyY0RlcGVUd28gICAgICAgICAg
ICAyCjUyOCAgQ1BBTjo6VGVzdDo6RHVtbXk6OlBlcmw1OjpNYWtlOjpDaXJjRGVwZVRocmVl
ICAgICAgICAgIDIKNTI5ICBDUEFOOjpUZXN0OjpEdW1teTo6UGVybDU6Ok1ha2U6OkNpcmNE
ZXBlT25lICAgICAgICAgICAgMgo1MzAgIE1vb3NlWDo6VHlwZXM6OkRhdGVUaW1lWCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAxCjUzMSAgWE1MOjpBdG9tOjpTZXJ2aWNlICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKNTMyICBQR09iamVjdDo6VXRp
bDo6UHNldWRvQ1NWICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQo1MzMgIEF1ZGlv
OjpGaWxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjUz
NCAgQ1NTOjpUaW55OjpTdHlsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDEKNTM1ICBQZXJpbmNpOjpUbzo6RG9jICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMQo1MzYgIE1vbml0b3Jpbmc6OkxpdmVzdGF0dXMgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAxCjUzNyAgV1dXOjpTRkRDICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKNTM4ICBOZXQ6OlN0b21wOjpNb29zZUhl
bHBlcnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQo1MzkgIFBhcmFtczo6VmFs
aWRhdGU6OkNoZWNrcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjU0MCAgVGVy
bTo6QmFzaDo6Q29tcGxldGlvbjo6R2VuZXJhdG9yICAgICAgICAgICAgICAgICAgICAgIDEK
NTQxICBOZXQ6Okdvb2dsZTo6RGF0YUFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgMQo1NDIgIERhdGE6OlBhY2thZ2UgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAxCjU0MyAgUElUQTo6U2NoZW1lICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDEKNTQ0ICBBbnlFdmVudDo6RmlsZXN5czo6Tm90aWZ5
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQo1NDUgIG9wdGltaXplciAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjU0NiAgUGx1Y2VuZVNp
bXBsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKNTQ3ICBQ
bHVjZW5lOjpTaW1wbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
MQo1NDggIEVtYWlsOjpTdG9yZTo6UGx1Y2VuZSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAxCjU0OSAgQ2F0YWx5c3Q6OlBsdWdpbjo6Q2FwdGNoYSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDEKNTUwICBXV1c6OlBhc3RlYmluOjpQYXN0ZWJpbkNhOjpSZXRy
aWV2ZSAgICAgICAgICAgICAgICAgICAgMQo1NTEgIE5ldDo6RE1BUDo6U2VydmVyICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjU1MiAgQ3J5cHQ6Ok9wZW5TU0w6
OkNBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKNTUzICBUYXNrOjpQ
bGFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQo1NTQg
IEhUTUw6Oldpa2lDb252ZXJ0ZXI6Ok1hcmtkb3duICAgICAgICAgICAgICAgICAgICAgICAg
ICAxCjU1NSAgQ2hhcnQ6OlN0cmlwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDEKNTU2ICBHdGsyOjpXZWJLaXQ6Ok1lY2hhbml6ZSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgMQo1NTcgIFByb21pc2VzICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAxCjU1OCAgQ0dJOjpBcHBsaWNhdGlvbjo6UGx1
Z2luOjpUbXBsSW5uZXJPdXRlciAgICAgICAgICAgICAgIDEKNTU5ICBRdWl6OjpGbGFzaGNh
cmRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQo1NjAgIFBPRTo6
Q29tcG9uZW50OjpDbGllbnQ6Ok5SUEUgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjU2
MSAgTW9kdWxlOjpJbnN0YWxsOjpDYXRhbHlzdCAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDEKNTYyICBSYXBpZEFwcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMQo1NjMgIE1hdGg6Ok1QRlIgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAxCjU2NCAgRGlzdDo6WmlsbGE6OlBsdWdpbjo6QXJjaGl2
ZVJlbGVhc2UgICAgICAgICAgICAgICAgICAgIDIKNTY1ICBEaXN0OjpaaWxsYTo6UGx1Z2lu
QnVuZGxlOjpSU1JDSEJPWSAgICAgICAgICAgICAgICAgICAgMQo1NjYgIFRyZWV4OjpDb3Jl
OjpSZXNvdXJjZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjU2NyAgVHJl
ZXg6OkNvcmU6OkNvbmZpZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEK
NTY4ICBUcmVleDo6Q29yZTo6Q29tbW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgMQo1NjkgIFRyZWV4OjpCbG9jazo6V3JpdGU6OkJhc2VUZXh0V3JpdGVyICAgICAg
ICAgICAgICAgICAgICAxCjU3MCAgVHJlZXg6OkNvcmU6OkxvZyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDEKNTcxICBUcmVleDo6Q29yZTo6RG9jdW1lbnRSZWFk
ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQo1NzIgIFRyZWV4OjpDb3JlOjpCbG9j
ayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjU3MyAgVHJlZXg6OkJs
b2NrOjpSZWFkOjpCYXNlVGV4dFJlYWRlciAgICAgICAgICAgICAgICAgICAgIDEKNTc0ICBU
cmVleDo6Q29yZTo6RG9jdW1lbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
MQo1NzUgIFRyZWV4OjpVbmlsYW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAxCjU3NiAgRGV2OjpCb2xsb2NrcyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDEKNTc3ICBBbnlFdmVudDo6UmV2ZXJzZUhUVFAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgMgo1NzggIFdlYXRoZXI6Ok9wZW5XZWF0aGVyTWFw
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjU3OSAgQWxpZW46Okdmc20gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKNTgwICBUaWNraXQ6
OkNvbnNvbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQo1ODEg
IE5ldDo6U1NMOjpFeHBpcmVEYXRlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAxCjU4MiAgUE9FOjpDb21wb25lbnQ6OkNsaWVudDo6RmVlZCAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDIKNTgzICBUazo6Q2FudmFzOjpHcmFkaWVudENvbG9yICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgMQo1ODQgIEVtYWlsOjpTdG9yZTo6U3VtbWFyeSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAxCjU4NSAgQWxpZW46OkFjdGl2ZU1RICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKNTg2ICBNb3ppbGxhOjpET006
OkNvbXB1dGVkU3R5bGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQo1ODcgIE1vemls
bGE6Ok9ic2VydmVyU2VydmljZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjU4
OCAgTW96aWxsYTo6UHJvbXB0U2VydmljZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDEKNTg5ICBNb3ppbGxhOjpTb3VyY2VWaWV3ZXIgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMQo1OTAgIE1vemlsbGE6OkNvbnNvbGVTZXJ2aWNlICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAxCjU5MSAgTW96aWxsYTo6TWVjaGFuaXplOjpHVUlUZXN0
ZXIgICAgICAgICAgICAgICAgICAgICAgICAgIDEKNTkyICBOZXQ6OkROU0JMOjpNdWx0aURh
ZW1vbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQo1OTMgIEZ1c2U6OkZpbGVz
eXM6OlZpcnR1YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjU5NCAgSGF0
ZW5hOjpLZXl3b3JkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEK
NTk1ICBIVE1MOjpGb3JtRnU6OkV4dEpTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgMQo1OTYgIER5bkdpZzo6VXRpbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAxCjU5NyAgTmV0OjpSYWRpdXM6OkRpY3Rpb25hcnkgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDIKNTk4ICBOZXQ6OlJhZGl1czo6UGFja2V0ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQo1OTkgIFBPRTo6Q29tcG9uZW50OjpD
bGllbnQ6OlJBRElVUyAgICAgICAgICAgICAgICAgICAgICAgICAxCjYwMCAgQ2hlbWlzdHJ5
OjpJbnRlcm5hbENvb3JkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKNjAxICBE
ZXZlbDo6YnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
MQo2MDIgIEFtYXpvbjo6RHluYW1vREIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAxCjYwMyAgQ2hhcnQ6OlBsb3QgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDEKNjA0ICBBbnlFdmVudDo6Rm9yayAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgMQo2MDUgIEFueUV2ZW50OjpDYW1wZmlyZTo6U3Ry
ZWFtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjYwNiAgUE9FOjpEZWNsYXJlOjpI
VFRQOjpTZXJ2ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKNjA3ICBUaHJlYWQ6
OlF1ZXVlOjpBbnkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQo2MDgg
IFdXVzo6TGlwc3VtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAxCjYwOSAgQW55RXZlbnQ6OkhUVFA6OkxXUDo6VXNlckFnZW50ICAgICAgICAgICAgICAg
ICAgICAgICAgIDEKNjEwICBEQl9GaWxlOjpMb2NrICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgMQo2MTEgIENoYXJ0OjpDbGlja2VyICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAxCjYxMiAgV1dXOjpDdXJsOjpFYXN5ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKNjEzICBXV1c6OkN1cmw6Ok11
bHRpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQo2MTQgIFdXVzo6
Q3VybDo6U2ltcGxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjYx
NSAgTmV0d29ya0luZm86OkRpc2NvdmVyeSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDEKNjE2ICBOZXQ6OkhUVFA6OkFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMQo2MTcgIFVNTFM6OkludGVyZmFjZSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAxCjYxOCAgTG9jYWxlOjpnZXR0ZXh0X2R1bWIgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKNjE5ICBMb2NhbGU6OlNpbXBsZSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQo2MjAgIFRhc2s6OktlbnNo
bzo6VG9vbGNoYWluICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyCjYyMSAgVGVz
dDo6UEFVU0U6OlBlcm1pc3Npb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEK
NjIyICBIVFRQOjpNb2JpbGVBZ2VudDo6UGx1Z2luOjpDaGFyc2V0ICAgICAgICAgICAgICAg
ICAgICAgMQo2MjMgIE1QRUc6OkF1ZGlvOjpGcmFtZSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAxCjYyNCAgVGs6OkJyb3dzZUVudHJ5ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDEKNjI1ICBUazo6QmFsbG9vbiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQo2MjYgIFRrOjpQb2Q6OlRleHQgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjYyNyAgVGs6OlBhbmUg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKNjI4ICBU
azo6Rm9udCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
MQo2MjkgIFRrOjpUYWJsZU1hdHJpeCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAxCjYzMCAgR2FtZXM6OlJpc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDEKNjMxICBTbGF5OjpNYWtlZmlsZSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgMQo2MzIgIFdpWDMgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjYzMyAgVGF0c3VtYWtpICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKNjM0ICBGZXk6Okxv
YWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQo2MzUg
IENsYXNzOjpEQkk6OlBnOjpNb3JlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAxCjYzNiAgVGFzazo6S2Vuc2hvOjpUZXN0aW5nICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDIKNjM3ICBDb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgMQo2MzggIFBPU0lYOjpSVDo6U2VtYXBob3JlICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAyCjYzOSAgV3g6OlBlcmw6OkRhdGFXYWxrZXIg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKNjQwICBQT0U6OlNlc3Npb246
Ok11bHRpRGlzcGF0Y2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgMQo2NDEgIEZpbGU6
OlBhdGhJbmZvOjpFeHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjY0
MiAgRW1haWw6Ok1JTUU6OlhQYXRoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDEKNjQzICBUYXNrOjpQZXJsOjpDcml0aWMgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMQo2NDQgIEFwcDo6VGVtcGxhdGVTZXJ2ZXIgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAxCjY0NSAgRmlsZTo6QXR0cmlidXRlcyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKNjQ2ICBBbGlhcyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQo2NDcgIFRlc3Q6OkhUTUw6
OlRpZHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjY0OCAgR0RU
ZXh0VXRpbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEK
NjQ5ICBHRDo6VGV4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgMQo2NTAgIEdER3JhcGggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAxCjY1MSAgR0Q6OkdyYXBoICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDEKNjUyICBHRDo6VGV4dDo6QWxpZ24gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQo2NTMgIEdEOjpHcmFwaDNkICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjY1NCAgRGF0YTo6QU1G
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKNjU1ICBD
YXRhbHlzdDo6Q29udHJvbGxlcjo6REJJQzo6QVBJICAgICAgICAgICAgICAgICAgICAgICAg
MQo2NTYgIFRhc2s6OktlbnNobzo6TW9kdWxlRGV2ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAyCjY1NyAgQ2xhc3M6OlVzdWwgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDEKNjU4ICBEZXZpY2U6OkNoaXA6OkFkYXB0ZXIgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgMQo2NTkgIERldmljZTo6QnVzUGlyYXRlICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjY2MCAgRW1haWw6OlN0b3JlOjpU
aHJlYWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKNjYxICBSZWxpZ2lv
bjo6QmlibGU6OlJlZ2V4OjpCdWlsZGVyICAgICAgICAgICAgICAgICAgICAgICAgMQo2NjIg
IERhdGE6OklDYWw6OkRhdGVUaW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAxCjY2MyAgVGVtcGxhdGU6OlNlbWFudGljICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDEKNjY0ICBGaWxlOjpBc3NldHMgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgMQo2NjUgIE5ldDo6REJ1cyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAyCjY2NiAgRGVza3RvcDo6Tm90aWZ5ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKNjY3ICBEYXRlVGltZTo6Q2Fs
ZW5kYXI6OkNoaW5lc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQo2NjggIEFueUV2
ZW50OjpTdWJwcm9jZXNzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjY2
OSAgTG9jYWxlOjpJRDo6TG9jYWxpdHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDEKNjcwICBDYXRhbHlzdDo6RW5naW5lOjpFbWJlZGRhYmxlICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMQo2NzEgIFNhbHZhdGlvbjo6RGFlbW9uRGVjbCAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAyCjY3MiAgTWFpbDo6V2VibWFpbDo6R21haWwgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKNjczICBUUGF0aCAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQo2NzQgIEFwcDo6U29mdHdh
cmU6OkxpY2Vuc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjY3NSAgRGV2
ZWw6OkNvdmVyOjpSZXBvcnQ6OkNsb3ZlciAgICAgICAgICAgICAgICAgICAgICAgICAgIDEK
Njc2ICBTT0FQOjpEaXJlY3RJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgMQo2NzcgIENhdGFseXN0OjpWaWV3OjpNYXNvbiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAxCjY3OCAgQ2xhc3M6OkRCSTo6bXlzcWwgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDEKNjc5ICBQbHVjZW5lOjpTZWFyY2hFbmdpbmUgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQo2ODAgIFRpY2tpdDo6QXN5bmMgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjY4MSAgT3BlbkdMOjpM
aXN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKNjgyICBE
YXRhOjpEdW1wOjpYTUwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
MQo2ODMgIERhdGE6OkJpbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAxCjY4NCAgREI6OlBsdWdnYWJsZSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDEKNjg1ICBDT1JCQTo6QyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgMQo2ODYgIEFzdHJvOjpGSVRTOjpDRklUU0lPOjpD
aGVja1N0YXR1cyAgICAgICAgICAgICAgICAgICAgICAxCjY4NyAgRmluYW5jZTo6UXVvdGVI
aXN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKNjg4ICBHRDo6R3Jh
cGg6OlBvbGFyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQo2ODkg
IFBPRXg6OlJvbGU6OkV2ZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAxCjY5MCAgUE9FeDo6Um9sZTo6VENQU2VydmVyICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDEKNjkxICBQT0V4OjpSb2xlOjpTdHJlYW1pbmcgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgMQo2OTIgIFBPRXg6OlR5cGVzICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAxCjY5MyAgUE9FeDo6Um9sZTo6UFNHSVNlcnZl
ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKNjk0ICBNYXA6OlR1YmU6Okxv
bmRvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQo2OTUgIERpc3Q6
OlppbGxhOjpQbHVnaW46Ok1ldGFkYXRhICAgICAgICAgICAgICAgICAgICAgICAgICAxCjY5
NiAgRGlzdDo6WmlsbGE6OlBsdWdpbkJ1bmRsZTo6RE9ZICAgICAgICAgICAgICAgICAgICAg
ICAgIDEKNjk3ICBMaXN0OjpHZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMQo2OTggIEFueUV2ZW50OjpGQ0dJICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAxCjY5OSAgVGVtcGxhdGU6Ok1hZ2ljICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKNzAwICBMYWJ5cmludGg6OlBsdWdpbjo6
QXJ0aWNsZXM6OlByb2ZpbGVzICAgICAgICAgICAgICAgICAgMQo3MDEgIFN5c2xvZ1NjYW46
OkRhZW1vbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjcwMiAgTXlT
UUw6OlBhY2tldCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEK
NzAzICBHdGsyOjpFeDo6V2lkZ2V0RXZlbnRzICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgMQo3MDQgIEd0azI6OkV4OjpTeW5jQ2FsbCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAxCjcwNSAgR3RrMjo6RXg6OkRyYWdnZXIgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDEKNzA2ICBUa3g6OlRjbFRrOjpCaW5kICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQo3MDcgIENHSTo6RXggICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjcwOCAgSW1hZ2U6Ok1h
Z2ljazo6VGh1bWJuYWlsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKNzA5ICBU
aWU6OlRrOjpUZXh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
MQo3MTAgIFRlc3Q6OlVOSVhTb2NrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAxCjcxMSAgTWFwOjpUdWJlOjpUb2t5byAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDEKNzEyICBDYXRhbHlzdDo6UGx1Z2luOjpVcGxvYWRQcm9ncmVz
cyAgICAgICAgICAgICAgICAgICAgICAgMQo3MTMgIE1hcDo6VHViZTo6U2luZ2Fwb3JlICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjcxNCAgUGVybDo6TWV0cmljcyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKNzE1ICBIVE1MOjpF
bnRpdGllczo6Q29udmVydFBpY3RvZ3JhbU1vYmlsZUpwICAgICAgICAgICAgICAgMQo3MTYg
IENhdGFseXN0OjpDb250cm9sbGVyOjpWYWxpZGF0aW9uOjpERlYgICAgICAgICAgICAgICAg
ICAxCjcxNyAgQ29uZmlnOjpGaWxlTWFuYWdlciAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDEKNzE4ICBCOjpDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgMQo3MTkgIENhdGFseXN0OjpQbHVnaW46OkJyb3dzZXIgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAxCjcyMCAgVGV4dDo6RXh0cmFjdDo6TWFrZXRl
eHRDYWxsUGhyYXNlcyAgICAgICAgICAgICAgICAgICAgIDEKNzIxICBEZXZlbDo6RmluZFJl
ZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQo3MjIgIEFueUV2
ZW50OjpTbGFja1JUTSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjcy
MyAgd3hQZXJsOjpDb25zdHJ1Y3RvcnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDEKNzI0ICBBbnlFdmVudDo6UGcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMQo3MjUgIE1ldGFiYXNlOjpCYWNrZW5kOjpTUUwgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAxCjcyNiAgQW55RXZlbnQ6OkZ1dHVyZSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKNzI3ICBHbm9tZTI6OlZGUyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQo3MjggIEdub21lMjo6Q2Fu
dmFzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjcyOSAgR25v
bWUyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEK
NzMwICBDaGVtaXN0cnk6Ok1hY3JvTW9sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgMQo3MzEgIEFwcDo6c2Nhbl9wcmVyZXFzX2NwYW5maWxlICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAxCjczMiAgUGxhY2s6OkhhbmRsZXI6OkFueUV2ZW50OjpSZXZlcnNl
SFRUUCAgICAgICAgICAgICAgICAgIDEKNzMzICBOZXRTZXJ2ZXI6OkdlbmVyaWMgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQo3MzQgIERpc3Q6OlppbGxhOjpQbHVn
aW46OlRlc3Q6OkNoZWNrQ2hhbmdlcyAgICAgICAgICAgICAgICAxCjczNSAgQjo6TGludCAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKNzM2ICBN
YXJrYXBsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
MQo3MzcgIFdXVzo6RGljdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAxCjczOCAgRWdnOjpSZWxlYXNlICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDEKNzM5ICBBbnlFdmVudDo6QUlPICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgMQo3NDAgIElPOjpLUXVldWUgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjc0MSAgTWFwOjpUdWJlOjpLaGFy
a2l2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKNzQyICBTUE9QUyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQo3NDMg
IE1hcDo6VHViZTo6R2xhc2dvdyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAxCjc0NCAgTmV0OjpSYWRpbzo6b0Zvbm8gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDEKNzQ1ICBNYXA6OlR1YmU6OlZpZW5uYSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgMQo3NDYgIE5ldDo6U3RvbXA6Ok1vb3NlSGVscGVyczo6Q2Fu
Q29ubmVjdCAgICAgICAgICAgICAgICAgICAxCjc0NyAgTmV0OjpTdG9tcDo6TW9vc2VIZWxw
ZXJzOjpFeGNlcHRpb25zICAgICAgICAgICAgICAgICAgIDEKNzQ4ICBOZXQ6OlN0b21wOjpN
b29zZUhlbHBlcnM6OlJlY29ubmVjdE9uRmFpbHVyZSAgICAgICAgICAgMQo3NDkgIE5ldDo6
U3RvbXA6OlByb2R1Y2VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjc1
MCAgUXVldWU6OlE0TSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDEKNzUxICBIVFRQOjpNb2JpbGVBdHRyaWJ1dGUgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMQo3NTIgIFN0YXRpc3RpY3M6Ok1WQSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAxCjc1MyAgUE9FOjpDb21wb25lbnQ6OkZlZWRBZ2dyZWdh
dG9yICAgICAgICAgICAgICAgICAgICAgICAgIDEKNzU0ICBNYXA6OlR1YmU6Ok5hbmppbmcg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQo3NTUgIENhdGFseXN0OjpQ
bHVnaW46Ok1vYmlsZUFnZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAxCjc1NiAgQ2F0
YWx5c3Q6OlBsdWdpbjo6QzMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEK
NzU3ICBLaW5vU2VhcmNoMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgMQo3NTggIFlhbWxUaW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAxCjc1OSAgUE9FOjpDb21wb25lbnQ6OlN1cGVydmlzb3IgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDEKNzYwICBNYXA6OlR1YmU6OlNhaW50UGV0ZXJzYnVy
ZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQo3NjEgIFlhaG9vOjpTZWFyY2ggICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjc2MiAgR1RvcCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKNzYzICBU
ZXN0OjpWaXJ0dWFsOjpGaWxlc3lzdGVtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
MQo3NjQgIFRhc2s6OktlbnNobzo6WE1MICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAyCjc2NSAgVGFzazo6S2Vuc2hvOjpXZWJEZXYgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDIKNzY2ICBUYXNrOjpLZW5zaG8gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgMQo3NjcgIE1pbGRldyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjc2OCAgUXVldWU6OldvcmtlciAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKNzY5ICBMb2c6OkRp
c3BhdGNoOjpTY3JlZW46OkNvbG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgMQo3NzAg
IE1hcDo6VHViZTo6QmVybGluICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAxCjc3MSAgTWFwOjpUdWJlOjpCdWRhcGVzdCAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDEKNzcyICBTYWx2YXRpb246OkFueU5vdGlmeTo6UGx1Z2luOjpEYWVtb24g
ICAgICAgICAgICAgICAgICAgMQo3NzMgIEZpbmFuY2U6OkN1cnJlbmN5OjpDb252ZXJ0OjpY
RSAgICAgICAgICAgICAgICAgICAgICAgICAxCjc3NCAgQ2x1dHRlciAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKNzc1ICBTZWFyY2g6OlF1ZXJ5
OjpEaWFsZWN0OjpLU3ggICAgICAgICAgICAgICAgICAgICAgICAgICAgMQo3NzYgIFRrOjpN
YXJrZG93blRrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjc3
NyAgVGV4dDo6S3dpa2lGb3JtYXRpc2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDEKNzc4ICBDYXRhbHlzdDo6Vmlldzo6VGVtcGxhdGU6OkRlY2xhcmUgICAgICAgICAg
ICAgICAgICAgICAgMQo3NzkgIEVtYWlsOjpTdG9yZTo6TmFtZWRFbnRpdHkgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAxCjc4MCAgRXhwb3J0ZXI6OlNpbXBsZSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKNzgxICBHdGsyOjpFeDo6RGFzaGVzICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQo3ODIgIE5ldDo6SW5zcGVj
dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCjc4MyAgQ1BB
Tjo6RmFrZXI6OkhUVFBEICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEK

--------------CD2581B952FA78F6A175EEF2--
0
jkeenan
4/4/2017 8:28:51 PM
On 5 April 2017 at 08:28, James E Keenan <jkeenan@pobox.com> wrote:
> the tip of the order of battle looks substantially different


I must say though, your results confuse me.

In my testing, the things that are holding back the most are ...
Module::Runtime , and Task::Weaken.

But neither of those are even *ON* your list.

-- 
Kent

KENTNL - https://metacpan.org/author/KENTNL
0
kentfredric
4/4/2017 9:37:00 PM
On 04/04/2017 05:37 PM, Kent Fredric wrote:
> On 5 April 2017 at 08:28, James E Keenan <jkeenan@pobox.com> wrote:
>> the tip of the order of battle looks substantially different
>
>
> I must say though, your results confuse me.
>
> In my testing, the things that are holding back the most are ...
> Module::Runtime , and Task::Weaken.
>
> But neither of those are even *ON* your list.
>

They wouldn't be on my list if they were successfully installed.

Module::Runtime was successfully installed all three times -- though 
that's actually two times, because my first run used an earlier perl 5 
blead commit.  Each of the three runs used a different, progressively 
newer version of 'cpanm'.

Task::Weaken did not succeed on my first run (20170330).  It failed here:

#####
Can't locate inc/Module/Install.pm in @INC (you may need to install the 
inc::Module::Install module) (@INC contains: 
/home/jkeenan/testing/blead/lib/perl5/site_perl/5.25.11/x86_64-linux 
/home/jkeenan/testing/blead/lib/perl5/site_perl/5.25.11 
/home/jkeenan/testing/blead/lib/perl5/5.25.11/x86_64-linux 
/home/jkeenan/testing/blead/lib/perl5/5.25.11) at Makefile.PL line 42.
BEGIN failed--compilation aborted at Makefile.PL line 42.
-> N/A
-> FAIL Configure failed for Task-Weaken-1.04. See 
/home/jkeenan/.cpanm/work/1490881305.4413/build.log for details.
#####

However, Task::Weaken succeeded on the second run -- where I was working 
with a more recent blead and with App-cpanminus v1.7042 -- and was 
therefore already installed in time for the third run.

So, the only thing I can offer is:  Are you working with (a) a recent 
enough blead to capture all the changes relevant to no-dot; and (b) the 
very most recent version of cpanm?

Thank you very much.
Jim Keenan
0
jkeenan
4/4/2017 10:35:12 PM
On 5 April 2017 at 10:35, James E Keenan <jkeenan@pobox.com> wrote:
> Module::Runtime was successfully installed all three times -- though that's
> actually two times, because my first run used an earlier perl 5 blead
> commit.  Each of the three runs used a different, progressively newer
> version of 'cpanm'.
>
> Task::Weaken did not succeed on my first run (20170330).  It failed here:
>
> #####
> Can't locate inc/Module/Install.pm in @INC (you may need to install the
> inc::Module::Install module) (@INC contains:
> /home/jkeenan/testing/blead/lib/perl5/site_perl/5.25.11/x86_64-linux
> /home/jkeenan/testing/blead/lib/perl5/site_perl/5.25.11
> /home/jkeenan/testing/blead/lib/perl5/5.25.11/x86_64-linux
> /home/jkeenan/testing/blead/lib/perl5/5.25.11) at Makefile.PL line 42.
> BEGIN failed--compilation aborted at Makefile.PL line 42.
> -> N/A
> -> FAIL Configure failed for Task-Weaken-1.04. See
> /home/jkeenan/.cpanm/work/1490881305.4413/build.log for details.
> #####
>
> However, Task::Weaken succeeded on the second run -- where I was working
> with a more recent blead and with App-cpanminus v1.7042 -- and was therefore
> already installed in time for the third run.
>
> So, the only thing I can offer is:  Are you working with (a) a recent enough
> blead to capture all the changes relevant to no-dot; and (b) the very most
> recent version of cpanm?


What you're telling me is you have set your tools up to hide the bug,
instead of isolating and reporting the bug.

cpanm hides the bug by setting PERL_USE_UNSAFE_INC=1

This is useful for testing for what end users using the cpan
toolchains will see, but it is not "The whole problem"

This is still a problem outside this subset of ways of doing things.

That makes your configuration useful for exposing non-dot-in-inc related issues.

But practically useless at exposing dot-in-inc-issues.

Subsequently, I don't consider Module::Runtime or Task::Weaken "Fixed"
by having tools fake that I have '.' in @INC


--
Kent

KENTNL - https://metacpan.org/author/KENTNL
0
kentfredric
4/4/2017 11:24:11 PM
On 04/04/2017 07:24 PM, Kent Fredric wrote:
> On 5 April 2017 at 10:35, James E Keenan <jkeenan@pobox.com> wrote:
>> Module::Runtime was successfully installed all three times -- though that's
>> actually two times, because my first run used an earlier perl 5 blead
>> commit.  Each of the three runs used a different, progressively newer
>> version of 'cpanm'.
>>
>> Task::Weaken did not succeed on my first run (20170330).  It failed here:
>>
>> #####
>> Can't locate inc/Module/Install.pm in @INC (you may need to install the
>> inc::Module::Install module) (@INC contains:
>> /home/jkeenan/testing/blead/lib/perl5/site_perl/5.25.11/x86_64-linux
>> /home/jkeenan/testing/blead/lib/perl5/site_perl/5.25.11
>> /home/jkeenan/testing/blead/lib/perl5/5.25.11/x86_64-linux
>> /home/jkeenan/testing/blead/lib/perl5/5.25.11) at Makefile.PL line 42.
>> BEGIN failed--compilation aborted at Makefile.PL line 42.
>> -> N/A
>> -> FAIL Configure failed for Task-Weaken-1.04. See
>> /home/jkeenan/.cpanm/work/1490881305.4413/build.log for details.
>> #####
>>
>> However, Task::Weaken succeeded on the second run -- where I was working
>> with a more recent blead and with App-cpanminus v1.7042 -- and was therefore
>> already installed in time for the third run.
>>
>> So, the only thing I can offer is:  Are you working with (a) a recent enough
>> blead to capture all the changes relevant to no-dot; and (b) the very most
>> recent version of cpanm?
>
>
> What you're telling me is you have set your tools up to hide the bug,
> instead of isolating and reporting the bug.
>
> cpanm hides the bug by setting PERL_USE_UNSAFE_INC=1
>
> This is useful for testing for what end users using the cpan
> toolchains will see, but it is not "The whole problem"
>

"[T]esting for what end users using the cpan toolchains will see" was 
precisely what I was focusing on in this exercise.

I never claimed to have a solution for "The Whole Problem".  It's not 
clear whether there is anyone who even understands "The Whole Problem". 
Until such a person emerges, we shouldn't be dismissive of people's 
attempts to apply partial solutions to partial understandings.  TIMTOWTDI.

Thank you very much.
Jim Keenan
0
jkeenan
4/5/2017 6:10:42 PM
On 6 April 2017 at 06:10, James E Keenan <jkeenan@pobox.com> wrote:
> "[T]esting for what end users using the cpan toolchains will see" was
> precisely what I was focusing on in this exercise


Right. That's useful to /an/ audience. Its just not inherently useful
information for me.

Because this is a problem that will either be a problem for end users
outside the CPAN toolchain RealSoonNow ( for which there are many ),
and this problem will continue to be a RealProblem for the next few
years, and then it will become a SeriouslyBadRealProblem in the near
future when this workaround gets removed.

That's what you should be keeping firmly in mind here: This hack
doesn't fix problems, it suppresses them.

Its a tool we provide for users convenience as a compromise for how
much we have broken.

But from the context of people who are CPAN *authors*, these instances
should be considered "severe errors", despite the fact users can elide
them.

For instance, you could wave your hand and pretend the MI-in-inc
problem didn't exist easily *weeks* ago, because Installing
Module::Install magically makes it go away ( which I suspect your
smoking rig ended up doing at some point as well, hiding that class of
error even though other people with the same tools as you would have
had broken UX )

And even in the absence of this env flag, you could have *kinda*
pretended there was no bug to see here by finding some other ENV
mechanism to reinsert '.' in @INC.

That doesn't change the reality that outside the scope of a whole 4
programs that people often use which implement this hack /instead of/
making the user do it, that these CPAN modules are now regretfully
broken.

Just the intersection you've optimised for is "regretfully broken but
with the right magic you won't see it"

To me, this is more a "well, we can sweep it under the carpet and the
room will look like I tied it, so no problem right?" answer to a
problem that needs a proper clean.

Its not *totally* useless, but its just very near-sighted in what its
utility really is.

( Those decaying morsels of food that should have been properly dealt
with will attract pests and rot, you wont' see them now, but you will
see them )

-- 
Kent

KENTNL - https://metacpan.org/author/KENTNL
0
kentfredric
4/5/2017 6:33:34 PM
Reply: