Hello community, here is the log from the commit of package perl-Devel-PatchPerl for openSUSE:Factory checked in at 2017-01-22 00:14:28 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-Devel-PatchPerl (Old) and /work/SRC/openSUSE:Factory/.perl-Devel-PatchPerl.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Devel-PatchPerl" Changes: -------- --- /work/SRC/openSUSE:Factory/perl-Devel-PatchPerl/perl-Devel-PatchPerl.changes 2016-09-26 12:35:50.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.perl-Devel-PatchPerl.new/perl-Devel-PatchPerl.changes 2017-01-22 00:14:30.147453876 +0100 @@ -1,0 +2,6 @@ +Wed Nov 23 06:19:27 UTC 2016 - co...@suse.com + +- updated to 1.46 + see /usr/share/doc/packages/perl-Devel-PatchPerl/Changes + +------------------------------------------------------------------- Old: ---- Devel-PatchPerl-1.44.tar.gz New: ---- Devel-PatchPerl-1.46.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-Devel-PatchPerl.spec ++++++ --- /var/tmp/diff_new_pack.fER4sC/_old 2017-01-22 00:14:30.623386507 +0100 +++ /var/tmp/diff_new_pack.fER4sC/_new 2017-01-22 00:14:30.623386507 +0100 @@ -17,7 +17,7 @@ Name: perl-Devel-PatchPerl -Version: 1.44 +Version: 1.46 Release: 0 %define cpan_name Devel-PatchPerl Summary: Patch perl source a la Devel::PPPort's buildperl.pl @@ -59,6 +59,6 @@ %files -f %{name}.files %defattr(-,root,root,755) -%doc Changes LICENSE README tools +%doc Changes LICENSE README %changelog ++++++ Devel-PatchPerl-1.44.tar.gz -> Devel-PatchPerl-1.46.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-PatchPerl-1.44/Changes new/Devel-PatchPerl-1.46/Changes --- old/Devel-PatchPerl-1.44/Changes 2016-08-18 13:39:30.000000000 +0200 +++ new/Devel-PatchPerl-1.46/Changes 2016-11-21 12:03:22.000000000 +0100 @@ -1,8 +1,18 @@ ================================================== -Changes from 2011-08-20 00:00:00 +0000 to present. +Changes from 2011-11-23 00:00:00 +0000 to present. ================================================== ----------------------------------------- +version 1.46 at 2016-11-21 11:02:53 +0000 +----------------------------------------- + + Change: d89ef82256c963746f576c2ce1dfb8ef8bd0aca6 + Author: Chris 'BinGOs' Williams <ch...@bingosnet.co.uk> + Date : 2016-11-21 11:02:53 +0000 + + Updated hints + +----------------------------------------- version 1.44 at 2016-08-18 11:38:32 +0000 ----------------------------------------- @@ -659,59 +669,6 @@ Added a plugin system ------------------------------------------ -version 0.62 at 2011-11-05 23:14:37 +0000 ------------------------------------------ - - Change: 3cb8b66ade12cf01ab420a29f5f65797786f0df0 - Author: Chris 'BinGOs' Williams <ch...@bingosnet.co.uk> - Date : 2011-11-05 23:14:37 +0000 - - Update FreeBSD hints to support FreeBSD 10.0 - ------------------------------------------ -version 0.60 at 2011-10-24 14:21:34 +0000 ------------------------------------------ - - Change: b737b8521ffd34bf91438add2ff0073d9e01b65a - Author: Chris 'BinGOs' Williams <ch...@bingosnet.co.uk> - Date : 2011-10-24 15:21:34 +0000 - - Autoguessing perl versions was broken, it is fixed now. - - Thanks to Tom Molesworth and Paul Evans for helping to spot this. - ------------------------------------------ -version 0.58 at 2011-10-03 20:24:45 +0000 ------------------------------------------ - - Change: 2057805e5129dcde0a88ae81f5936547ad5a3484 - Author: Chris 'BinGOs' Williams <ch...@bingosnet.co.uk> - Date : 2011-10-03 21:24:45 +0000 - - Fix v5.14-ism in regex. Reported by Gregor Herrmann [rt.cpan.org - #71416] - ------------------------------------------ -version 0.56 at 2011-10-03 12:40:19 +0000 ------------------------------------------ - - Change: e698b95b579df68d5bf7fef933269019fecf2e2c - Author: Chris 'BinGOs' Williams <ch...@bingosnet.co.uk> - Date : 2011-10-03 13:40:19 +0000 - - Fix previous update - ------------------------------------------ -version 0.54 at 2011-10-03 12:02:08 +0000 ------------------------------------------ - - Change: 6f7b6eafb637fcf30c7e8a21c9e3a4c2908f266c - Author: Chris 'BinGOs' Williams <ch...@bingosnet.co.uk> - Date : 2011-10-03 13:02:08 +0000 - - Add patching of make_ext.pl for virtualisation fixes - ================================================= -Plus 26 releases after 2011-08-20 00:00:00 +0000. +Plus 31 releases after 2011-11-23 00:00:00 +0000. ================================================= diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-PatchPerl-1.44/MANIFEST new/Devel-PatchPerl-1.46/MANIFEST --- old/Devel-PatchPerl-1.44/MANIFEST 2016-08-18 13:39:30.000000000 +0200 +++ new/Devel-PatchPerl-1.46/MANIFEST 2016-11-21 12:03:22.000000000 +0100 @@ -1,4 +1,4 @@ -# This file was automatically generated by Dist::Zilla::Plugin::Manifest v6.006. +# This file was automatically generated by Dist::Zilla::Plugin::Manifest v6.008. Changes LICENSE MANIFEST diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-PatchPerl-1.44/META.json new/Devel-PatchPerl-1.46/META.json --- old/Devel-PatchPerl-1.44/META.json 2016-08-18 13:39:30.000000000 +0200 +++ new/Devel-PatchPerl-1.46/META.json 2016-11-21 12:03:22.000000000 +0100 @@ -4,7 +4,7 @@ "Chris Williams <ch...@bingosnet.co.uk>" ], "dynamic_config" : 0, - "generated_by" : "Dist::Zilla version 6.006, CPAN::Meta::Converter version 2.150005", + "generated_by" : "Dist::Zilla version 6.008, CPAN::Meta::Converter version 2.150010", "license" : [ "perl_5" ], @@ -45,7 +45,7 @@ "web" : "https://github.com/bingos/devel-patchperl" } }, - "version" : "1.44", - "x_serialization_backend" : "Cpanel::JSON::XS version 3.0217" + "version" : "1.46", + "x_serialization_backend" : "Cpanel::JSON::XS version 3.0222" } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-PatchPerl-1.44/META.yml new/Devel-PatchPerl-1.46/META.yml --- old/Devel-PatchPerl-1.44/META.yml 2016-08-18 13:39:30.000000000 +0200 +++ new/Devel-PatchPerl-1.46/META.yml 2016-11-21 12:03:22.000000000 +0100 @@ -6,7 +6,7 @@ configure_requires: ExtUtils::MakeMaker: '0' dynamic_config: 0 -generated_by: 'Dist::Zilla version 6.006, CPAN::Meta::Converter version 2.150005' +generated_by: 'Dist::Zilla version 6.008, CPAN::Meta::Converter version 2.150010' license: perl meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html @@ -21,5 +21,5 @@ resources: homepage: https://github.com/bingos/devel-patchperl repository: https://github.com/bingos/devel-patchperl.git -version: '1.44' +version: '1.46' x_serialization_backend: 'YAML::Tiny version 1.69' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-PatchPerl-1.44/Makefile.PL new/Devel-PatchPerl-1.46/Makefile.PL --- old/Devel-PatchPerl-1.44/Makefile.PL 2016-08-18 13:39:30.000000000 +0200 +++ new/Devel-PatchPerl-1.46/Makefile.PL 2016-11-21 12:03:22.000000000 +0100 @@ -1,4 +1,4 @@ -# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v6.006. +# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v6.008. use strict; use warnings; @@ -25,7 +25,7 @@ "MIME::Base64" => 0, "Module::Pluggable" => 0 }, - "VERSION" => "1.44", + "VERSION" => "1.46", "test" => { "TESTS" => "t/*.t" } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-PatchPerl-1.44/README new/Devel-PatchPerl-1.46/README --- old/Devel-PatchPerl-1.44/README 2016-08-18 13:39:30.000000000 +0200 +++ new/Devel-PatchPerl-1.46/README 2016-11-21 12:03:22.000000000 +0100 @@ -4,7 +4,7 @@ VERSION - version 1.44 + version 1.46 SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-PatchPerl-1.44/bin/patchperl new/Devel-PatchPerl-1.46/bin/patchperl --- old/Devel-PatchPerl-1.44/bin/patchperl 2016-08-18 13:39:30.000000000 +0200 +++ new/Devel-PatchPerl-1.46/bin/patchperl 2016-11-21 12:03:22.000000000 +0100 @@ -22,7 +22,7 @@ =head1 VERSION -version 1.44 +version 1.46 =head1 AUTHOR diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-PatchPerl-1.44/dist.ini new/Devel-PatchPerl-1.46/dist.ini --- old/Devel-PatchPerl-1.44/dist.ini 2016-08-18 13:39:30.000000000 +0200 +++ new/Devel-PatchPerl-1.46/dist.ini 2016-11-21 12:03:22.000000000 +0100 @@ -1,5 +1,5 @@ name = Devel-PatchPerl -version = 1.44 +version = 1.46 author = Chris Williams <ch...@bingosnet.co.uk> license = Perl_5 copyright_holder = Chris Williams and Marcus Holland-Moritz diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-PatchPerl-1.44/lib/Devel/PatchPerl/Hints.pm new/Devel-PatchPerl-1.46/lib/Devel/PatchPerl/Hints.pm --- old/Devel-PatchPerl-1.44/lib/Devel/PatchPerl/Hints.pm 2016-08-18 13:39:30.000000000 +0200 +++ new/Devel-PatchPerl-1.46/lib/Devel/PatchPerl/Hints.pm 2016-11-21 12:03:22.000000000 +0100 @@ -1,5 +1,5 @@ package Devel::PatchPerl::Hints; -$Devel::PatchPerl::Hints::VERSION = '1.44'; +$Devel::PatchPerl::Hints::VERSION = '1.46'; #ABSTRACT: replacement 'hints' files use strict; @@ -124,26 +124,23 @@ aHJlZSBjYXNlcwojIChubyAtRGRwcmVmaXg9LCAtRHByZWZpeD0vdXNyLCAtRHByZWZpeD0vc29t ZS90aGluZy9lbHNlKQojIGJ1dCB0aGF0IGNhdXNlZCB0b28gbXVjaCBncmllZi4KIyB2ZW5kb3Js aWI9Ii9TeXN0ZW0vTGlicmFyeS9QZXJsLyR7dmVyc2lvbn0iOyAjIEFwcGxlLXN1cHBsaWVkIG1v -ZHVsZXMKCiMgQlNEIHBhdGhzCmNhc2UgIiRwcmVmaXgiIGluCicnKQkjIERlZmF1bHQgaW5zdGFs -bDsgdXNlIG5vbi1zeXN0ZW0gZGlyZWN0b3JpZXMKCXByZWZpeD0nL3Vzci9sb2NhbCc7CglzaXRl -cHJlZml4PScvdXNyL2xvY2FsJzsKCTs7CicvdXNyJykJIyBXZSBhcmUgYnVpbGRpbmcvcmVwbGFj -aW5nIHRoZSBidWlsdC1pbiBwZXJsCglwcmVmaXg9Jy8nOwoJaW5zdGFsbHByZWZpeD0nLyc7Cgli -aW49Jy91c3IvYmluJzsKCXNpdGVwcmVmaXg9Jy91c3IvbG9jYWwnOwoJIyBXZSBkb24ndCB3YW50 -IC91c3IvYmluL0hFQUQgaXNzdWVzLgoJc2l0ZWJpbj0nL3Vzci9sb2NhbC9iaW4nOwoJc2l0ZXNj -cmlwdD0nL3Vzci9sb2NhbC9iaW4nOwoJaW5zdGFsbHVzcmJpbnBlcmw9J2RlZmluZSc7ICMgWW91 -IGtuZXcgd2hhdCB5b3Ugd2VyZSBkb2luZy4KCXByaXZsaWI9Ii9TeXN0ZW0vTGlicmFyeS9QZXJs -LyR7dmVyc2lvbn0iOwoJc2l0ZWxpYj0iL0xpYnJhcnkvUGVybC8ke3ZlcnNpb259IjsKCXZlbmRv -cnByZWZpeD0nLyc7Cgl1c2V2ZW5kb3JwcmVmaXg9J2RlZmluZSc7Cgl2ZW5kb3JiaW49Jy91c3Iv -YmluJzsKCXZlbmRvcnNjcmlwdD0nL3Vzci9iaW4nOwoJdmVuZG9ybGliPSIvTmV0d29yay9MaWJy -YXJ5L1BlcmwvJHt2ZXJzaW9ufSI7CgkjIDRCU0QgdXNlcyAke3ByZWZpeH0vc2hhcmUvbWFuLCBu -b3QgJHtwcmVmaXh9L21hbi4KCW1hbjFkaXI9Jy91c3Ivc2hhcmUvbWFuL21hbjEnOwoJbWFuM2Rp -cj0nL3Vzci9zaGFyZS9tYW4vbWFuMyc7CgkjIEJ1dCB1c2VycycgaW5zdGFsbHMgc2hvdWxkbid0 -IHRvdWNoIHRoZSBzeXN0ZW0gbWFuIHBhZ2VzLgoJIyBUcmFuc2llbnQgb2Jzb2xldGVkIHN0eWxl -LgoJc2l0ZW1hbjE9Jy91c3IvbG9jYWwvc2hhcmUvbWFuL21hbjEnOwoJc2l0ZW1hbjM9Jy91c3Iv -bG9jYWwvc2hhcmUvbWFuL21hbjMnOwoJIyBOZXcgc3R5bGUuCglzaXRlbWFuMWRpcj0nL3Vzci9s -b2NhbC9zaGFyZS9tYW4vbWFuMSc7CglzaXRlbWFuM2Rpcj0nL3Vzci9sb2NhbC9zaGFyZS9tYW4v -bWFuMyc7Cgk7OwogICopCSMgQW55dGhpbmcgZWxzZTsgdXNlIG5vbi1zeXN0ZW0gZGlyZWN0b3Jp -ZXMsIHVzZSBDb25maWd1cmUgZGVmYXVsdHMKCTs7CmVzYWMKCiMjCiMgVG9vbCBjaGFpbiBzZXR0 +ZHVsZXMKCmNhc2UgIiRkYXJ3aW5fZGlzdHJpYnV0aW9uIiBpbgokZGVmaW5lKSAjIFdlIGFyZSBi +dWlsZGluZy9yZXBsYWNpbmcgdGhlIGJ1aWx0LWluIHBlcmwKCXByZWZpeD0nL3Vzcic7CglpbnN0 +YWxscHJlZml4PScvdXNyJzsKCWJpbj0nL3Vzci9iaW4nOwoJc2l0ZXByZWZpeD0nL3Vzci9sb2Nh +bCc7CgkjIFdlIGRvbid0IHdhbnQgL3Vzci9iaW4vSEVBRCBpc3N1ZXMuCglzaXRlYmluPScvdXNy +L2xvY2FsL2Jpbic7CglzaXRlc2NyaXB0PScvdXNyL2xvY2FsL2Jpbic7CglpbnN0YWxsdXNyYmlu +cGVybD0nZGVmaW5lJzsgIyBZb3Uga25ldyB3aGF0IHlvdSB3ZXJlIGRvaW5nLgoJcHJpdmxpYj0i +L1N5c3RlbS9MaWJyYXJ5L1BlcmwvJHt2ZXJzaW9ufSI7CglzaXRlbGliPSIvTGlicmFyeS9QZXJs +LyR7dmVyc2lvbn0iOwoJdmVuZG9ycHJlZml4PScvJzsKCXVzZXZlbmRvcnByZWZpeD0nZGVmaW5l +JzsKCXZlbmRvcmJpbj0nL3Vzci9iaW4nOwoJdmVuZG9yc2NyaXB0PScvdXNyL2Jpbic7Cgl2ZW5k +b3JsaWI9Ii9OZXR3b3JrL0xpYnJhcnkvUGVybC8ke3ZlcnNpb259IjsKCSMgNEJTRCB1c2VzICR7 +cHJlZml4fS9zaGFyZS9tYW4sIG5vdCAke3ByZWZpeH0vbWFuLgoJbWFuMWRpcj0nL3Vzci9zaGFy +ZS9tYW4vbWFuMSc7CgltYW4zZGlyPScvdXNyL3NoYXJlL21hbi9tYW4zJzsKCSMgQnV0IHVzZXJz +JyBpbnN0YWxscyBzaG91bGRuJ3QgdG91Y2ggdGhlIHN5c3RlbSBtYW4gcGFnZXMuCgkjIFRyYW5z +aWVudCBvYnNvbGV0ZWQgc3R5bGUuCglzaXRlbWFuMT0nL3Vzci9sb2NhbC9zaGFyZS9tYW4vbWFu +MSc7CglzaXRlbWFuMz0nL3Vzci9sb2NhbC9zaGFyZS9tYW4vbWFuMyc7CgkjIE5ldyBzdHlsZS4K +CXNpdGVtYW4xZGlyPScvdXNyL2xvY2FsL3NoYXJlL21hbi9tYW4xJzsKCXNpdGVtYW4zZGlyPScv +dXNyL2xvY2FsL3NoYXJlL21hbi9tYW4zJzsKCTs7CmVzYWMKCiMjCiMgVG9vbCBjaGFpbiBzZXR0 aW5ncwojIwoKIyBTaW5jZSB3ZSBjYW4gYnVpbGQgZmF0LCB0aGUgYXJjaG5hbWUgZG9lc24ndCBu ZWVkIHRoZSBwcm9jZXNzb3IgdHlwZQphcmNobmFtZT0nZGFyd2luJzsKCiMgbm0gaXNuJ3Qga25v d24gdG8gd29yayBhZnRlciBTbm93IExlb3BhcmQgYW5kIFhDb2RlIDQ7IHRlc3Rpbmcgd2l0aCBP @@ -203,187 +200,193 @@ CmVzYWMKCiMgRnJvbSBodHRwOi8vZnRwLm5ldGJzZC5vcmcvcHViL3BrZ3NyYy9jdXJyZW50L3Br Z3NyYy9tay9wbGF0Zm9ybS9EYXJ3aW4ubWsKIyBhbmQgaHR0cHM6Ly90cmFjLm1hY3BvcnRzLm9y Zy93aWtpL1hjb2RlVmVyc2lvbkluZm8KIyBhbmQgaHR0cHM6Ly90cmFjLm1hY3BvcnRzLm9yZy93 -aWtpL1VzaW5nVGhlUmlnaHRDb21waWxlcgojCiMgT1MsIEtlcm5lbCwgWGNvZGUgVmVyc2lvbgoj -IE5vdGUgdGhhdCBYY29kZSBnZXRzIHVwZGF0ZXMgb24gb2xkZXIgc3lzdGVtcyBzb21ldGltZXMu -CiMgcGtnc3JjIGdlbmVyYWxseSBleHBlY3RzIHRoYXQgdGhlIG1vc3QgdXAtdG8tZGF0ZSB4Y29k -ZSBhdmFpbGFibGUgZm9yCiMgYW4gT1MgdmVyc2lvbiBpcyBpbnN0YWxsZWQKIwojIE5vdGUgdGhh -dCBBcHBsZSBoaWphY2tzIHRoZSBjbGFuZyBwcmVwcm9jZXNzb3Igc3ltYm9scyBfX2NsYW5nX21h -am9yX18KIyBhbmQgX19jbGFuZ19taW5vcl9fIHNvIHRoZXkgY2Fubm90IGJlIHVzZWQgKGVhc2ls -eSkgdG8gZGV0ZWN0IHRoZQojIGFjdHVhbCBjbGFuZyByZWxlYXNlLiAgRm9yIGV4YW1wbGU6CiMK -IyAiWW9zZW1pdGUgMTAuMTAueCAxNC54LnkgNi4zIChjbGFuZyAzLjYgYXMgNi4xLzYwMi4wLjQ5 -KSIKIwojIG1lYW5zIHRoYXQgdGhlIFhjb2RlIDYuMyBwcm92aWRlZCB0aGUgY2xhbmcgNi4zIGJ1 -dCBjYWxsZWQgaXQgNi4xCiMgKF9fY2xhbmdfbWFqb3JfXywgX19jbGFuZ19taW5vcl9fKSBhbmQg -aW4gYWRkaXRpb24gdGhlIHByZXByb2Nlc3NvcgojIHN5bWJvbCBfX2FwcGxlX2J1aWxkX3ZlcnNp -b25fXyB3YXMgNjAyMDA0OS4KIwojIENvZGVuYW1lICAgICAgICBPUyAgICAgIEtlcm5lbCAgWGNv -ZGUKIwojIENoZWV0YWggICAgICAgICAxMC4wLnggIDEuMy4xCiMgUHVtYSAgICAgICAgICAgIDEw -LjEgICAgMS40LjEKIyAgICAgICAgICAgICAgICAgMTAuMS54ICA1LngueQojIEphZ3VhciAgICAg -ICAgICAxMC4yLnggIDYueC55CiMgUGFudGhlciAgICAgICAgIDEwLjMueCAgNy54LnkKIyBUaWdl -ciAgICAgICAgICAgMTAuNC54ICA4LngueSAgIDIuMCAgIChnY2M0IDQuMC4wKQojICAgICAgICAg -ICAgICAgICAgICAgICAgICAgICAgICAgMi4yICAgKGdjYzQgNC4wLjEpCiMgICAgICAgICAgICAg -ICAgICAgICAgICAgICAgICAgICAyLjIuMSAoZ2NjIDMuMykKIyAgICAgICAgICAgICAgICAgICAg -ICAgICAgICAgICAgIDIuNSA/CiMgTGVvcGFyZCAgICAgICAgIDEwLjUueCAgOS54LnkgICAzLjAg -ICAoZ2NjIDQuMC4xIGRlZmF1bHQpCiMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAz -LjEgICAoZ2NjIDQuMi4xKQojIFNub3cgTGVvcGFyZCAgICAxMC42LnggIDEwLngueSAgMy4yICAg -KGxsdm0gZ2NjIDQuMiwgY2xhbmcgMi4zIGFzIDEuMCkKIyAgICAgICAgICAgICAgICAgICAgICAg -ICAgICAgICAgIDMuMi4xIChjbGFuZyAxLjAuMSBhcyAxLjAuMS8yNCkKIyAgICAgICAgICAgICAg -ICAgICAgICAgICAgICAgICAgIDMuMi4yIChjbGFuZyAxLjAuMiBhcyAxLjAuMi8zMikKIyAgICAg -ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMuMi4zIChjbGFuZyAxLjUgYXMgMS41LzYwKQoj -ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC4wLjEgKGNsYW5nIDIuOSBhcyAyLjAv -MTM4KQojIExpb24gICAgICAgICAgICAxMC43LnggIDExLngueSAgNC4xICAgKGxsdm0gZ2NjIDQu -Mi4xLCBjbGFuZyAzLjAgYXMgMi4xLzE2My43LjEpCiMgICAgICAgICAgICAgICAgICAgICAgICAg -ICAgICAgICA0LjIgICAoY2xhbmcgMy4wIGFzIDMuMC8yMTEuMTAuMSkKIyAgICAgICAgICAgICAg -ICAgICAgICAgICAgICAgICAgIDQuMy4zIChjbGFuZyAzLjEgYXMgMy4xLzMxOC4wLjYxKQojICAg -ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC40ICAgKGNsYW5nIDMuMSBhcyA0LjAvNDIx -LjAuNTcpCiMgTW91bnRhaW4gTGlvbiAgIDEwLjgueCAgMTIueC55ICA0LjUgICAoY2xhbmcgMy4x -IGFzIDQuMS80MjEuMTEuNjUsIHJlYWwgZ2NjIHJlbW92ZWQsIHRoZXJlIGlzIGdjYyBidXQgaXQn -cyByZWFsbHkgY2xhbmcpCiMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjYgICAo -Y2xhbmcgMy4yIGFzIDQuMi80MjUuMC4yNCkKIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg -ICAgIDUuMCAgIChjbGFuZyAzLjMgYXMgNS4wLzUwMC4yLjc1KQojICAgICAgICAgICAgICAgICAg -ICAgICAgICAgICAgICAgNS4xICAgKGNsYW5nIDMuNCBhcyA1LjEvNTAzLjAuMzgpCiMgICAgICAg -ICAgICAgICAgICAgICAgICAgICAgICAgICA1LjEuMSAoY2xhbmcgMy40IGFzIDUuMS81MDMuMC40 -MCkKIyBNYXZlcmlja3MgICAgICAgMTAuOS54ICAxMy54LnkgIDYuMC4xIChjbGFuZyAzLjUgYXMg -Ni4wLzYwMC4wLjUxKQojICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNi4xICAgKGNs -YW5nIDMuNSBhcyA2LjAvNjAwLjAuNTQpCiMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg -ICA2LjEuMSAoY2xhbmcgMy41IGFzIDYuMC82MDAuMC41NikKIyAgICAgICAgICAgICAgICAgICAg -ICAgICAgICAgICAgIDYuMiAgIChjbGFuZyAzLjUgYXMgNi4wLzYwMC4wLjU3KQojIFlvc2VtaXRl -ICAgICAgICAxMC4xMC54IDE0LngueSAgNi4zICAgKGNsYW5nIDMuNiBhcyA2LjEvNjAyLjAuNDkp -CiMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA2LjMuMSAoY2xhbmcgMy42IGFzIDYu -MS82MDIuMC40OSkKIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDYuMy4yIChjbGFu -ZyAzLjYgYXMgNi4xLzYwMi4wLjUzKQojIEVsIENhcGl0YW4gICAgICAxMC4xMS54IDE1LngueSAg -Ny4wICAgKGNsYW5nIDMuNyBhcyA3LjAvNzAwLjAuNzIpCiMgICAgICAgICAgICAgICAgICAgICAg -ICAgICAgICAgICA3LjEgICAoY2xhbmcgMy43IGFzIDcuMC83MDAuMS43NikKIyAgICAgICAgICAg -ICAgICAgICAgICAgICAgICAgICAgIDcuMiAgIChjbGFuZyAzLjcgYXMgNy4wLjIvNzAwLjEuODEp -CiMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA3LjIuMSAoY2xhbmcgMy43IGFzIDcu -MC4yLzcwMC4xLjgxKQojICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNy4zICAgKGNs -YW5nIDMuNyBhcyA3LjMuMC83MDMuMC4yOSkKIwoKIyBQcm9jZXNzb3JzIFN1cHBvcnRlZAojCiMg -UG93ZXJQQyAoUFBDKTogICAgICAgMTAuMC54IC0gMTAuNS44IChmaW5hbCAxMC41LngpCiMgUG93 -ZXJQQyB2aWEgUm9zZXR0YTogMTAuNC40IC0gMTAuNi44IChmaW5hbCAxMC42LngpCiMgSUEtMzI6 -ICAgICAgICAgICAgICAgMTAuNC40IC0gMTAuNi44ICh0aG91Z2ggc3RpbGwgc3VwcG9ydGVkIG9u -IHg4Ni02NCkKIyB4ODYtNjQ6ICAgICAgICAgICAgICAxMC40LjcgLSBjdXJyZW50CgojIE1BQ09T -WF9ERVBMT1lNRU5UX1RBUkdFVCBzZWxlY3RzIHRoZSBtaW5pbXVtIE9TIGxldmVsIHdlIHdhbnQg -dG8gc3VwcG9ydAojCiMgSXQgaXMgbmVlZGVkIGZvciBPUyByZWxlYXNlcyBiZWZvcmUgMTAuNi4K -IwojIGh0dHBzOi8vZGV2ZWxvcGVyLmFwcGxlLmNvbS9saWJyYXJ5L21hYy9kb2N1bWVudGF0aW9u -L0RldmVsb3BlclRvb2xzL0NvbmNlcHR1YWwvY3Jvc3NfZGV2ZWxvcG1lbnQvQ29uZmlndXJpbmcv -Y29uZmlndXJpbmcuaHRtbAojCiMgSWYgaXQgaXMgc2V0LCB3ZSBhbHNvIHByb3BhZ2F0ZSBpdHMg -dmFsdWUgdG8gY2NmbGFncyBhbmQgbGRmbGFncwojIHVzaW5nIHRoZSAtbW1hY29zeC12ZXJzaW9u -LW1pbiBmbGFnLiAgSWYgaXQgaXMgbm90IHNldCwgd2UgdXNlCiMgdGhlIE9TIFggcmVsZWFzZSBh -cyB0aGUgbWluIHZhbHVlIGZvciB0aGUgZmxhZy4KCiMgQWRkcyAiLW1tYWNvc3gtdmVyc2lvbi1t -aW49JDIiIHRvICIkMSIgdW5sZXNzIGl0IGFscmVhZHkgaXMgdGhlcmUuCmFkZF9tYWNvc3hfdmVy -c2lvbl9taW4gKCkgewogIGxvY2FsIHYKICBldmFsICJ2PVwkJDEiCiAgY2FzZSAiICR2ICIgaW4K -ICAqIi1tbWFjb3N4LXZlcnNpb24tbWluIiopCiAgICAgZWNobyAiTk9UIGFkZGluZyAtbW1hY29z -eC12ZXJzaW9uLW1pbj0kMiB0byAkMSAoJHYpIiA+JjQKICAgICA7OwogICopIGVjaG8gIkFkZGlu -ZyAtbW1hY29zeC12ZXJzaW9uLW1pbj0kMiB0byAkMSIgPiY0CiAgICAgZXZhbCAiJDE9JyR2IC1t -bWFjb3N4LXZlcnNpb24tbWluPSQyJyIKICAgICA7OwogIGVzYWMKfQoKIyBQZXJsIGJ1bmRsZXMg -ZG8gbm90IGV4cGVjdCB0d28tbGV2ZWwgbmFtZXNwYWNlLCBhZGRlZCBpbiBEYXJ3aW4gMS40Lgoj -IEJ1dCBzdGFydGluZyBmcm9tIHBlcmwgNS44LjEvRGFyd2luIDcgdGhlIGRlZmF1bHQgaXMgdGhl -IHR3by1sZXZlbC4KY2FzZSAiJG9zdmVycyIgaW4gICMgTm90ZTogb3N2ZXJzIGlzIHRoZSBrZXJu -ZWwgdmVyc2lvbiwgbm90IHRoZSAxMC54CjEuWzAtM10uKikgIyBPUyBYIDEwLjAueAogICBsZGRs -ZmxhZ3M9IiR7bGRmbGFnc30gLWJ1bmRsZSAtdW5kZWZpbmVkIHN1cHByZXNzIgogICA7OwoxLiop -ICAgICAgICMgT1MgWCAxMC4xCiAgIGxkZmxhZ3M9IiR7bGRmbGFnc30gLWZsYXRfbmFtZXNwYWNl -IgogICBsZGRsZmxhZ3M9IiR7bGRmbGFnc30gLWJ1bmRsZSAtdW5kZWZpbmVkIHN1cHByZXNzIgog -ICA7OwpbMi02XS4qKSAgICMgT1MgWCAxMC4xLnggLSAxMC4yLnggKHRob3VnaCBbMi00XSBuZXZl -ciBleGlzdGVkIHB1YmxpY2x5KQogICBsZGZsYWdzPSIke2xkZmxhZ3N9IC1mbGF0X25hbWVzcGFj -ZSIKICAgbGRkbGZsYWdzPSIke2xkZmxhZ3N9IC1idW5kbGUgLXVuZGVmaW5lZCBzdXBwcmVzcyIK -ICAgOzsKWzctOV0uKikgICAjIE9TIFggMTAuMy54IC0gMTAuNS54CiAgIGxkZGxmbGFncz0iJHts -ZGZsYWdzfSAtYnVuZGxlIC11bmRlZmluZWQgZHluYW1pY19sb29rdXAiCiAgIGNhc2UgIiRsZCIg -aW4KICAgICAgICpNQUNPU1hfREVQTE9ZTUVOVF9UQVJHRVQqKSA7OwogICAgICAgKikgbGQ9ImVu -diBNQUNPU1hfREVQTE9ZTUVOVF9UQVJHRVQ9MTAuMyAke2xkfSIgOzsKICAgZXNhYwogICA7Owoq -KSAgICAgICAgIyBPUyBYIDEwLjYueCAtIGN1cnJlbnQKICAgIyBUaGUgTUFDT1NYX0RFUExPWU1F -TlRfVEFSR0VUIGlzIG5vdCBuZWVkZWQsCiAgICMgYnV0IHRoZSAtbW1hY29zeC12ZXJzaW9uLW1p -biBvcHRpb24gaXMgYWx3YXlzIHVzZWQuCgogICAjIFdlIG5vdyB1c2UgTUFDT1NYX0RFUExPWU1F -TlRfVEFSR0VULCBpZiBzZXQsIGFzIGFuIG92ZXJyaWRlIGJ5CiAgICMgY2FwdHVyaW5nIGl0cyB2 -YWx1ZSBhbmQgYWRkaW5nIGl0IHRvIHRoZSBmbGFncy4KICAgIGNhc2UgIiRNQUNPU1hfREVQTE9Z -TUVOVF9UQVJHRVQiIGluCiAgICAxMC4qKQogICAgICBhZGRfbWFjb3N4X3ZlcnNpb25fbWluIGNj -ZmxhZ3MgJE1BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVAogICAgICBhZGRfbWFjb3N4X3ZlcnNpb25f -bWluIGxkZmxhZ3MgJE1BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVAogICAgICA7OwogICAgJycpCiAg -ICAgICMgRW1wdHkgTUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUIGlzIG9rYXkuCiAgICAgIDs7CiAg -ICAqKQogICAgICBjYXQgPDxFT00gPiY0CgoqKiogVW5leHBlY3RlZCBNQUNPU1hfREVQTE9ZTUVO -VF9UQVJHRVQ9JE1BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVAoqKioKKioqIFBsZWFzZSBlaXRoZXIg -c2V0IGl0IHRvIDEwLnNvbWV0aGluZywgb3IgdG8gZW1wdHkuCgpFT00KICAgICAgZXhpdCAxCiAg -ICAgIDs7CiAgICBlc2FjCgogICAgIyBLZWVwIHRoZSBwcm9kdmVycyBsZWFkaW5nIHdoaXRlc3Bh -Y2UgKENvbmZpZ3VyZSBtYWdpYykuCiAgICAjIENhbm5vdCB1c2UgJG9zdmVycyBoZXJlIHNpbmNl -IHRoYXQgaXMgdGhlIGtlcm5lbCB2ZXJzaW9uLgogICAgIyBzd192ZXJzIG91dHB1dCAgICAgICAg -ICAgICAgICAgd2hhdCB3ZSB3YW50CiAgICAjICJQcm9kdWN0VmVyc2lvbjogICAgMTAuMTAuNSIg -ICAiMTAuMTAiCiAgICAjICJQcm9kdWN0VmVyc2lvbjogICAgMTAuMTEiICAgICAiMTAuMTEiCiAg -ICAgICAgcHJvZHZlcnM9YHN3X3ZlcnN8YXdrICcvXlByb2R1Y3RWZXJzaW9uOi97cHJpbnQgJDJ9 -J3xhd2sgLUYuICd7cHJpbnQgJDEiLiIkMn0nYAogICAgY2FzZSAiJHByb2R2ZXJzIiBpbgogICAg -MTAuKikKICAgICAgYWRkX21hY29zeF92ZXJzaW9uX21pbiBjY2ZsYWdzICRwcm9kdmVycwogICAg -ICBhZGRfbWFjb3N4X3ZlcnNpb25fbWluIGxkZmxhZ3MgJHByb2R2ZXJzCiAgICAgIDs7CiAgICAq -KQogICAgICBjYXQgPDxFT00gPiY0CgoqKiogVW5leHBlY3RlZCBwcm9kdWN0IHZlcnNpb24gJHBy -b2R2ZXJzLgoqKioKKioqIFRyeSBydW5uaW5nIHN3X3ZlcnMgYW5kIHNlZSB3aGF0IGl0cyBQcm9k -dWN0VmVyc2lvbiBzYXlzLgoKRU9NCiAgICAgIGV4aXQgMQogICAgZXNhYwoKICAgbGRkbGZsYWdz -PSIke2xkZmxhZ3N9IC1idW5kbGUgLXVuZGVmaW5lZCBkeW5hbWljX2xvb2t1cCIKICAgOzsKZXNh -YwoKbGRsaWJwdGhuYW1lPSdEWUxEX0xJQlJBUllfUEFUSCc7CgojIHVzZXNocnBsaWI9dHJ1ZSBy -ZXN1bHRzIGluIG11Y2ggc2xvd2VyIHN0YXJ0dXAgdGltZXMuCiMgJ2ZhbHNlJyBpcyB0aGUgZGVm -YXVsdCB2YWx1ZS4gIFVzZSBDb25maWd1cmUgLUR1c2VzaHJwbGliIHRvIG92ZXJyaWRlLgoKY2F0 -ID4gVVUvYXJjaG5hbWUuY2J1IDw8J0VPQ0JVJwojIFRoaXMgc2NyaXB0IFVVL2FyY2huYW1lLmNi -dSB3aWxsIGdldCAnY2FsbGVkLWJhY2snIGJ5IENvbmZpZ3VyZSAKIyBhZnRlciBpdCBoYXMgb3Ro -ZXJ3aXNlIGRldGVybWluZWQgdGhlIGFyY2hpdGVjdHVyZSBuYW1lLgpjYXNlICIkbGRmbGFncyIg -aW4KKiItZmxhdF9uYW1lc3BhY2UiKikgOzsgIyBCYWNrd2FyZCBjb21wYXQsIGJlIGZsYXQuCiMg -SWYgd2UgYXJlIHVzaW5nIHR3by1sZXZlbCBuYW1lc3BhY2UsIHdlIHdpbGwgbXVuZ2UgdGhlIGFy -Y2huYW1lIHRvIHNob3cgaXQuCiopIGFyY2huYW1lPSIke2FyY2huYW1lfS0ybGV2ZWwiIDs7CmVz -YWMKRU9DQlUKCiMgNjQtYml0IGFkZHJlc3Npbmcgc3VwcG9ydC4gQ3VycmVudGx5IHN0cmljdGx5 -IGV4cGVyaW1lbnRhbC4gREZEIDIwMDUtMDYtMDYKY2FzZSAiJHVzZTY0Yml0YWxsIiBpbgokZGVm -aW5lfHRydWV8W3lZXSopCmNhc2UgIiRvc3ZlcnMiIGluClsxLTddLiopCiAgICAgY2F0IDw8RU9N -ID4mNAoKCgoqKiogNjQtYml0IGFkZHJlc3NpbmcgaXMgbm90IHN1cHBvcnRlZCBmb3IgTWFjIE9T -IFggdmVyc2lvbnMKKioqIGJlbG93IDEwLjQgKCJUaWdlciIpIG9yIERhcndpbiB2ZXJzaW9ucyBi -ZWxvdyA4LiBQbGVhc2UgdHJ5CioqKiBhZ2FpbiB3aXRob3V0IC1EdXNlNjRiaXRhbGwuICgtRHVz -ZTY0Yml0aW50IHdpbGwgd29yaywgaG93ZXZlci4pCgpFT00KICAgICBleGl0IDEKICA7OwoqKQog -ICAgY2FzZSAiJG9zdmVycyIgaW4KICAgIDguKikKICAgICAgICBjYXQgPDxFT00gPiY0CgoKCioq -KiBQZXJsIDY0LWJpdCBhZGRyZXNzaW5nIHN1cHBvcnQgaXMgZXhwZXJpbWVudGFsIGZvciBNYWMg -T1MgWAoqKiogMTAuNCAoIlRpZ2VyIikgYW5kIERhcndpbiB2ZXJzaW9uIDguIFN5c3RlbSBWIElQ -QyBpcyBkaXNhYmxlZAoqKiogZHVlIHRvIHByb2JsZW1zIHdpdGggdGhlIDY0LWJpdCB2ZXJzaW9u -cyBvZiBtc2djdGwsIHNlbWN0bCwKKioqIGFuZCBzaG1jdGwuIFlvdSBzaG91bGQgYWxzbyBleHBl -Y3QgdGhlIGZvbGxvd2luZyB0ZXN0IGZhaWx1cmVzOgoqKioKKioqICAgIGV4dC90aHJlYWRzLXNo -YXJlZC90L3dhaXQgKHRocmVhZGVkIGJ1aWxkcyBvbmx5KQoKRU9NCgogICAgICAgIFsgIiRkX21z -Z2N0bCIgXSB8fCBkX21zZ2N0bD0ndW5kZWYnCiAgICAgICAgWyAiJGRfc2VtY3RsIiBdIHx8IGRf -c2VtY3RsPSd1bmRlZicKICAgICAgICBbICIkZF9zaG1jdGwiIF0gfHwgZF9zaG1jdGw9J3VuZGVm -JwogICAgOzsKICAgIGVzYWMKCiAgICBjYXNlIGB1bmFtZSAtcGAgaW4gCiAgICBwb3dlcnBjKSBh -cmNoPXBwYzY0IDs7CiAgICBpMzg2KSBhcmNoPXg4Nl82NCA7OwogICAgKikgY2F0IDw8RU9NID4m -NAoKKioqIERvbid0IHJlY29nbml6ZSBwcm9jZXNzb3IsIGNhbid0IHNwZWNpZnkgNjQgYml0IGNv -bXBpbGF0aW9uLgoKRU9NCiAgICA7OwogICAgZXNhYwogICAgZm9yIHZhciBpbiBjY2ZsYWdzIGNw -cGZsYWdzIGxkIGxkZmxhZ3MKICAgIGRvCiAgICAgICBldmFsICR2YXI9IlwkJHt2YXJ9XCAtYXJj -aFwgJGFyY2giCiAgICBkb25lCgogICAgOzsKZXNhYwo7Owplc2FjCgojIwojIFN5c3RlbSBsaWJy -YXJpZXMKIyMKCiMgdmZvcmsgd29ya3MKdXNldmZvcms9J3RydWUnOwoKIyBtYWxsb2Mgd3JhcCB3 -b3JrcwpjYXNlICIkdXNlbWFsbG9jd3JhcCIgaW4KJycpIHVzZW1hbGxvY3dyYXA9J2RlZmluZScg -OzsKZXNhYwoKIyBvdXIgbWFsbG9jIHdvcmtzIChidXQgYWxsb3cgdXNlcnMgdG8gb3ZlcnJpZGUp -CmNhc2UgIiR1c2VteW1hbGxvYyIgaW4KJycpIHVzZW15bWFsbG9jPSduJyA7Owplc2FjCiMgSG93 -ZXZlciBzYnJrKCkgcmV0dXJucyAtMSAoZmFpbHVyZSkgc29tZXdoZXJlIGluIGxpYi91bmljb3Jl -L21rdGFibGVzIGF0CiMgYXJvdW5kIDE0TSwgc28gd2UgbmVlZCB0byB1c2Ugc3lzdGVtIG1hbGxv -YygpIGFzIG91ciBzYnJrKCkKIwojIHNicmsoKSBpbiBEYXJ3aW4gZGVwcmVjYXRlZCBzaW5jZSBN -YXZlcmlja3MgKDEwLjkpLCBpdCBzdGlsbCBleGlzdHMKIyBpbiBZb3NlbWl0ZSAoMTAuMTApIGJ1 -dCB0aGF0IGlzIGp1c3QgYW4gZW11bGF0aW9uLCBhbmQgZmFpbHMgZm9yCiMgYWxsb2NhdGlvbnMg -YmV5b25kIDRNQi4gIE9uZSBzaG91bGQgdXNlIGUuZy4gbW1hcCBpbnN0ZWFkIChvciBzeXN0ZW0K -IyBtYWxsb2MsIGFzIHN1Z2dlc3RlZCBhYm92ZSwgdGhhdCBidXQgaXMga2luZCBvZiBiYWNrd2Fy -ZCkuCm1hbGxvY19jZmxhZ3M9J2NjZmxhZ3M9Ii1EVVNFX1BFUkxfU0JSSyAtRFBFUkxfU0JSS19W -SUFfTUFMTE9DICRjY2ZsYWdzIicKCiMgTG9jYWxlcyBhcmVuJ3QgZmVlbGluZyB3ZWxsLgpMQ19B -TEw9QzsgZXhwb3J0IExDX0FMTDsKTEFORz1DOyBleHBvcnQgTEFORzsKCiMKIyBUaGUgbGlicmFy -aWVzIGFyZSBub3QgdGhyZWFkc2FmZSBhcyBvZiBPUyBYIDEwLjEuCiMKIyBGaXggd2hlbiBBcHBs -ZSBmaXhlcyBsaWJjLgojCmNhc2UgIiR1c2V0aHJlYWRzJHVzZWl0aHJlYWRzIiBpbgogICpkZWZp -bmUqKQogIGNhc2UgIiRvc3ZlcnMiIGluCiAgICBbMTIzNDVdLiopICAgICBjYXQgPDxFT00gPiY0 -CgoKCioqKiBXYXJuaW5nLCB0aGVyZSBtaWdodCBiZSBwcm9ibGVtcyB3aXRoIHlvdXIgbGlicmFy -aWVzIHdpdGgKKioqIHJlZ2FyZHMgdG8gdGhyZWFkaW5nLiAgVGhlIHRlc3QgZXh0L3RocmVhZHMv -dC9saWJjLnQgaXMgbGlrZWx5CioqKiB0byBmYWlsLgoKRU9NCiAgICA7OwogICAgKikgdXNlcmVl -bnRyYW50PSdkZWZpbmUnOzsKICBlc2FjCgplc2FjCgojIEZpbmsgY2FuIGluc3RhbGwgYSBHREJN -IGxpYnJhcnkgdGhhdCBjbGFpbXMgdG8gaGF2ZSB0aGUgT0RCTSBpbnRlcmZhY2VzCiMgYnV0IFBl -cmwgZHluYWxvYWRlciBjYW5ub3QgZm9yIHNvbWUgcmVhc29uIHVzZSB0aGF0IGxpYnJhcnkuICBX -ZSBkb24ndAojIHJlYWxseSBuZWVkIE9EQk1fRklsZSwgdGhvdWdoLCBzbyBsZXQncyBqdXN0IGhp -bnQgT0RCTSBhd2F5LgppX2RibT11bmRlZjsKCiMgQ29uZmlndXJlIGRvZXNuJ3QgZGV0ZWN0IHJh -bmxpYiBvbiBUaWdlciBwcm9wZXJseS4KIyBOZWlsVyBzYXlzIHRoaXMgc2hvdWxkIGJlIGFjY2Vw -dGFibGUgb24gYWxsIGRhcndpbiB2ZXJzaW9ucy4KcmFubGliPSdyYW5saWInCgojIENhdGNoIE1h -Y1BvcnRzIGdjYy9nKysgZXh0cmEgbGliZGlyCmNhc2UgIiQoJGNjIC12IDI+JjEpIiBpbgoqIk1h -Y1BvcnRzIGdjYyIqKSBsb2NsaWJwdGg9IiRsb2NsaWJwdGggL29wdC9sb2NhbC9saWIvbGliZ2Nj -IiA7Owplc2FjCgojIwojIEJ1aWxkIHByb2Nlc3MKIyMKCiMgQ2FzZS1pbnNlbnNpdGl2ZSBmaWxl -c3lzdGVtcyBkb24ndCBnZXQgYWxvbmcgd2l0aCBNYWtlZmlsZSBhbmQKIyBtYWtlZmlsZSBpbiB0 -aGUgc2FtZSBwbGFjZS4gIFNpbmNlIERhcndpbiB1c2VzIEdOVSBtYWtlLCB0aGlzIGRvZGdlcwoj -IHRoZSBwcm9ibGVtLgpmaXJzdG1ha2VmaWxlPUdOVW1ha2VmaWxlOwoKIyBQYXJ0cyBvZiB0aGUg -c3lzdGVtIGNhbGwgc2V0ZW52KCksIGluIHBhcnRpY3VsYXIgaW4gYW4gYXRmb3JrIGhhbmRsZXIu -CiMgVGhpcyBjYXVzZXMgcHJvYmxlbXMgd2hlbiB0aGUgY2hpbGQgdHJpZXMgdG8gY2xlYW4gdXAg -ZW52aXJvbltdLCBzbwojIGxldCBsaWJjIG1hbmFnZSBlbnZpcm9uW10uCmNhdCA+PiBjb25maWcu -b3ZlciA8PCdFT09WRVInCmlmIHRlc3QgIiRkX3Vuc2V0ZW52IiA9ICIkZGVmaW5lIiAtYSBcCiAg -ICBgZXhwciAiJGNjZmxhZ3MiIDogJy4qLURQRVJMX1VTRV9TQUZFX1BVVEVOVidgIC1lcSAwOyB0 -aGVuCiAgICAgICAgY2NmbGFncz0iJGNjZmxhZ3MgLURQRVJMX1VTRV9TQUZFX1BVVEVOViIKZmkK -RU9PVkVSCg==', +aWtpL1VzaW5nVGhlUmlnaHRDb21waWxlcgojIGFuZCBodHRwczovL2dpc3QuZ2l0aHViLmNvbS95 +YW1heWEvMjkyNDI5MgojIGFuZCBodHRwOi8vb3BlbnNvdXJjZS5hcHBsZS5jb20vc291cmNlL2Ns +YW5nLwojCiMgTm90ZSB0aGF0IFhjb2RlIGdldHMgdXBkYXRlcyBvbiBvbGRlciBzeXN0ZW1zIHNv +bWV0aW1lcywgYW5kIGluCiMgZ2VuZXJhbCB0aGF0IHRoZSBPUyBsZXZlbHMgYW5kIFhDb2RlIGxl +dmVscyBhcmUgbm90IHN5bmNocm9uaXplZAojIHNpbmNlIG5ldyByZWxlYXNlcyBvZiBYQ29kZSB1 +c3VhbGx5IHN1cHBvcnQgYm90aCBzb21lIG5ldyBhbmQgc29tZQojIG9sZCBPUyByZWxlYXNlcy4K +IwojIE5vdGUgdGhhdCBBcHBsZSBoaWphY2tzIHRoZSBjbGFuZyBwcmVwcm9jZXNzb3Igc3ltYm9s +cyBfX2NsYW5nX21ham9yX18KIyBhbmQgX19jbGFuZ19taW5vcl9fIHNvIHRoZXkgY2Fubm90IGJl +IHVzZWQgKGVhc2lseSkgdG8gZGV0ZWN0IHRoZQojIGFjdHVhbCBjbGFuZyByZWxlYXNlLiAgRm9y +IGV4YW1wbGU6CiMKIyAiWW9zZW1pdGUgMTAuMTAueCAxNC54LnkgNi4zIChjbGFuZyAzLjYgYXMg +Ni4xLzYwMi4wLjQ5KSIKIwojIG1lYW5zIHRoYXQgdGhlIFhjb2RlIDYuMyBwcm92aWRlZCB0aGUg +Y2xhbmcgNi4zIGJ1dCBjYWxsZWQgaXQgNi4xCiMgKF9fY2xhbmdfbWFqb3JfXywgX19jbGFuZ19t +aW5vcl9fKSBhbmQgaW4gYWRkaXRpb24gdGhlIHByZXByb2Nlc3NvcgojIHN5bWJvbCBfX2FwcGxl +X2J1aWxkX3ZlcnNpb25fXyB3YXMgNjAyMDA0OS4KIwojIENvZGVuYW1lICAgICAgICBPUyAgICAg +IEtlcm5lbCAgWGNvZGUKIwojIENoZWV0YWggICAgICAgICAxMC4wLnggIDEuMy4xCiMgUHVtYSAg +ICAgICAgICAgIDEwLjEgICAgMS40LjEKIyAgICAgICAgICAgICAgICAgMTAuMS54ICA1LngueQoj +IEphZ3VhciAgICAgICAgICAxMC4yLnggIDYueC55CiMgUGFudGhlciAgICAgICAgIDEwLjMueCAg +Ny54LnkKIyBUaWdlciAgICAgICAgICAgMTAuNC54ICA4LngueSAgIDIuMCAgIChnY2M0IDQuMC4w +KQojICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMi4yICAgKGdjYzQgNC4wLjEpCiMg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyLjIuMSAoZ2NjIDMuMykKIyAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgIDIuNSA/CiMgTGVvcGFyZCAgICAgICAgIDEwLjUueCAg +OS54LnkgICAzLjAgICAoZ2NjIDQuMC4xIGRlZmF1bHQpCiMgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAzLjEgICAoZ2NjIDQuMi4xKQojIFNub3cgTGVvcGFyZCAgICAxMC42LnggIDEw +LngueSAgMy4yICAgKGxsdm0gZ2NjIDQuMiwgY2xhbmcgMi4zIGFzIDEuMCkKIyAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgIDMuMi4xIChjbGFuZyAxLjAuMSBhcyAxLjAuMS8yNCkKIyAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMuMi4yIChjbGFuZyAxLjAuMiBhcyAxLjAu +Mi8zMikKIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMuMi4zIChjbGFuZyAxLjUg +YXMgMS41LzYwKQojICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC4wLjEgKGNsYW5n +IDIuOSBhcyAyLjAvMTM4KQojIExpb24gICAgICAgICAgICAxMC43LnggIDExLngueSAgNC4xICAg +KGxsdm0gZ2NjIDQuMi4xLCBjbGFuZyAzLjAgYXMgMi4xLzE2My43LjEpCiMgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICA0LjIgICAoY2xhbmcgMy4wIGFzIDMuMC8yMTEuMTAuMSkKIyAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuMy4zIChjbGFuZyAzLjEgYXMgMy4xLzMx +OC4wLjYxKQojICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC40ICAgKGNsYW5nIDMu +MSBhcyA0LjAvNDIxLjAuNTcpCiMgTW91bnRhaW4gTGlvbiAgIDEwLjgueCAgMTIueC55ICA0LjUg +ICAoY2xhbmcgMy4xIGFzIDQuMS80MjEuMTEuNjUsIHJlYWwgZ2NjIHJlbW92ZWQsIHRoZXJlIGlz +IGdjYyBidXQgaXQncyByZWFsbHkgY2xhbmcpCiMgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICA0LjYgICAoY2xhbmcgMy4yIGFzIDQuMi80MjUuMC4yNCkKIyAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgIDUuMCAgIChjbGFuZyAzLjMgYXMgNS4wLzUwMC4yLjc1KQojICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgNS4xICAgKGNsYW5nIDMuNCBhcyA1LjEvNTAzLjAu +MzgpCiMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1LjEuMSAoY2xhbmcgMy40IGFz +IDUuMS81MDMuMC40MCkKIyBNYXZlcmlja3MgICAgICAgMTAuOS54ICAxMy54LnkgIDYuMC4xIChj +bGFuZyAzLjUgYXMgNi4wLzYwMC4wLjUxKQojICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgNi4xICAgKGNsYW5nIDMuNSBhcyA2LjAvNjAwLjAuNTQpCiMgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICA2LjEuMSAoY2xhbmcgMy41IGFzIDYuMC82MDAuMC41NikKIyAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgIDYuMiAgIChjbGFuZyAzLjUgYXMgNi4wLzYwMC4wLjU3 +KQojIFlvc2VtaXRlICAgICAgICAxMC4xMC54IDE0LngueSAgNi4zICAgKGNsYW5nIDMuNiBhcyA2 +LjEvNjAyLjAuNDkpCiMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA2LjMuMSAoY2xh +bmcgMy42IGFzIDYuMS82MDIuMC40OSkKIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +IDYuMy4yIChjbGFuZyAzLjYgYXMgNi4xLzYwMi4wLjUzKQojIEVsIENhcGl0YW4gICAgICAxMC4x +MS54IDE1LngueSAgNy4wICAgKGNsYW5nIDMuNyBhcyA3LjAvNzAwLjAuNzIpCiMgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICA3LjEgICAoY2xhbmcgMy43IGFzIDcuMC83MDAuMS43NikK +IyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDcuMiAgIChjbGFuZyAzLjcgYXMgNy4w +LjIvNzAwLjEuODEpCiMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA3LjIuMSAoY2xh +bmcgMy43IGFzIDcuMC4yLzcwMC4xLjgxKQojICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgNy4zICAgKGNsYW5nIDMuOCBhcyA3LjMuMC83MDMuMC4yOSkKIyBTaWVycmEgICAgICAgICAg +MTAuMTIueCAxNi54LnkgIDguMC4wIChjbGFuZyAzLjggYXMgOC4wLzgwMC4wLjM4KQojCgojIFBy +b2Nlc3NvcnMgU3VwcG9ydGVkCiMKIyBQb3dlclBDIChQUEMpOiAgICAgICAxMC4wLnggLSAxMC41 +LjggKGZpbmFsIDEwLjUueCkKIyBQb3dlclBDIHZpYSBSb3NldHRhOiAxMC40LjQgLSAxMC42Ljgg +KGZpbmFsIDEwLjYueCkKIyBJQS0zMjogICAgICAgICAgICAgICAxMC40LjQgLSAxMC42LjggKHRo +b3VnaCBzdGlsbCBzdXBwb3J0ZWQgb24geDg2LTY0KQojIHg4Ni02NDogICAgICAgICAgICAgIDEw +LjQuNyAtIGN1cnJlbnQKCiMgTUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUIHNlbGVjdHMgdGhlIG1p +bmltdW0gT1MgbGV2ZWwgd2Ugd2FudCB0byBzdXBwb3J0CiMKIyBJdCBpcyBuZWVkZWQgZm9yIE9T +IHJlbGVhc2VzIGJlZm9yZSAxMC42LgojCiMgaHR0cHM6Ly9kZXZlbG9wZXIuYXBwbGUuY29tL2xp +YnJhcnkvbWFjL2RvY3VtZW50YXRpb24vRGV2ZWxvcGVyVG9vbHMvQ29uY2VwdHVhbC9jcm9zc19k +ZXZlbG9wbWVudC9Db25maWd1cmluZy9jb25maWd1cmluZy5odG1sCiMKIyBJZiBpdCBpcyBzZXQs +IHdlIGFsc28gcHJvcGFnYXRlIGl0cyB2YWx1ZSB0byBjY2ZsYWdzIGFuZCBsZGZsYWdzCiMgdXNp +bmcgdGhlIC1tbWFjb3N4LXZlcnNpb24tbWluIGZsYWcuICBJZiBpdCBpcyBub3Qgc2V0LCB3ZSB1 +c2UKIyB0aGUgT1MgWCByZWxlYXNlIGFzIHRoZSBtaW4gdmFsdWUgZm9yIHRoZSBmbGFnLgoKIyBB +ZGRzICItbW1hY29zeC12ZXJzaW9uLW1pbj0kMiIgdG8gIiQxIiB1bmxlc3MgaXQgYWxyZWFkeSBp +cyB0aGVyZS4KYWRkX21hY29zeF92ZXJzaW9uX21pbiAoKSB7CiAgbG9jYWwgdgogIGV2YWwgInY9 +XCQkMSIKICBjYXNlICIgJHYgIiBpbgogICoiLW1tYWNvc3gtdmVyc2lvbi1taW4iKikKICAgICBl +Y2hvICJOT1QgYWRkaW5nIC1tbWFjb3N4LXZlcnNpb24tbWluPSQyIHRvICQxICgkdikiID4mNAog +ICAgIDs7CiAgKikgZWNobyAiQWRkaW5nIC1tbWFjb3N4LXZlcnNpb24tbWluPSQyIHRvICQxIiA+ +JjQKICAgICBldmFsICIkMT0nJHYgLW1tYWNvc3gtdmVyc2lvbi1taW49JDInIgogICAgIDs7CiAg +ZXNhYwp9CgojIFBlcmwgYnVuZGxlcyBkbyBub3QgZXhwZWN0IHR3by1sZXZlbCBuYW1lc3BhY2Us +IGFkZGVkIGluIERhcndpbiAxLjQuCiMgQnV0IHN0YXJ0aW5nIGZyb20gcGVybCA1LjguMS9EYXJ3 +aW4gNyB0aGUgZGVmYXVsdCBpcyB0aGUgdHdvLWxldmVsLgpjYXNlICIkb3N2ZXJzIiBpbiAgIyBO +b3RlOiBvc3ZlcnMgaXMgdGhlIGtlcm5lbCB2ZXJzaW9uLCBub3QgdGhlIDEwLngKMS5bMC0zXS4q +KSAjIE9TIFggMTAuMC54CiAgIGxkZGxmbGFncz0iJHtsZGZsYWdzfSAtYnVuZGxlIC11bmRlZmlu +ZWQgc3VwcHJlc3MiCiAgIDs7CjEuKikgICAgICAgIyBPUyBYIDEwLjEKICAgbGRmbGFncz0iJHts +ZGZsYWdzfSAtZmxhdF9uYW1lc3BhY2UiCiAgIGxkZGxmbGFncz0iJHtsZGZsYWdzfSAtYnVuZGxl +IC11bmRlZmluZWQgc3VwcHJlc3MiCiAgIDs7ClsyLTZdLiopICAgIyBPUyBYIDEwLjEueCAtIDEw +LjIueCAodGhvdWdoIFsyLTRdIG5ldmVyIGV4aXN0ZWQgcHVibGljbHkpCiAgIGxkZmxhZ3M9IiR7 +bGRmbGFnc30gLWZsYXRfbmFtZXNwYWNlIgogICBsZGRsZmxhZ3M9IiR7bGRmbGFnc30gLWJ1bmRs +ZSAtdW5kZWZpbmVkIHN1cHByZXNzIgogICA7OwpbNy05XS4qKSAgICMgT1MgWCAxMC4zLnggLSAx +MC41LngKICAgbGRkbGZsYWdzPSIke2xkZmxhZ3N9IC1idW5kbGUgLXVuZGVmaW5lZCBkeW5hbWlj +X2xvb2t1cCIKICAgY2FzZSAiJGxkIiBpbgogICAgICAgKk1BQ09TWF9ERVBMT1lNRU5UX1RBUkdF +VCopIDs7CiAgICAgICAqKSBsZD0iZW52IE1BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVD0xMC4zICR7 +bGR9IiA7OwogICBlc2FjCiAgIDs7CiopICAgICAgICAjIE9TIFggMTAuNi54IC0gY3VycmVudAog +ICAjIFRoZSBNQUNPU1hfREVQTE9ZTUVOVF9UQVJHRVQgaXMgbm90IG5lZWRlZCwKICAgIyBidXQg +dGhlIC1tbWFjb3N4LXZlcnNpb24tbWluIG9wdGlvbiBpcyBhbHdheXMgdXNlZC4KCiAgICMgV2Ug +bm93IHVzZSBNQUNPU1hfREVQTE9ZTUVOVF9UQVJHRVQsIGlmIHNldCwgYXMgYW4gb3ZlcnJpZGUg +YnkKICAgIyBjYXB0dXJpbmcgaXRzIHZhbHVlIGFuZCBhZGRpbmcgaXQgdG8gdGhlIGZsYWdzLgog +ICAgY2FzZSAiJE1BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVCIgaW4KICAgIDEwLiopCiAgICAgIGFk +ZF9tYWNvc3hfdmVyc2lvbl9taW4gY2NmbGFncyAkTUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUCiAg +ICAgIGFkZF9tYWNvc3hfdmVyc2lvbl9taW4gbGRmbGFncyAkTUFDT1NYX0RFUExPWU1FTlRfVEFS +R0VUCiAgICAgIDs7CiAgICAnJykKICAgICAgIyBFbXB0eSBNQUNPU1hfREVQTE9ZTUVOVF9UQVJH +RVQgaXMgb2theS4KICAgICAgOzsKICAgICopCiAgICAgIGNhdCA8PEVPTSA+JjQKCioqKiBVbmV4 +cGVjdGVkIE1BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVD0kTUFDT1NYX0RFUExPWU1FTlRfVEFSR0VU +CioqKgoqKiogUGxlYXNlIGVpdGhlciBzZXQgaXQgdG8gMTAuc29tZXRoaW5nLCBvciB0byBlbXB0 +eS4KCkVPTQogICAgICBleGl0IDEKICAgICAgOzsKICAgIGVzYWMKCiAgICAjIEtlZXAgdGhlIHBy +b2R2ZXJzIGxlYWRpbmcgd2hpdGVzcGFjZSAoQ29uZmlndXJlIG1hZ2ljKS4KICAgICMgQ2Fubm90 +IHVzZSAkb3N2ZXJzIGhlcmUgc2luY2UgdGhhdCBpcyB0aGUga2VybmVsIHZlcnNpb24uCiAgICAj +IHN3X3ZlcnMgb3V0cHV0ICAgICAgICAgICAgICAgICB3aGF0IHdlIHdhbnQKICAgICMgIlByb2R1 +Y3RWZXJzaW9uOiAgICAxMC4xMC41IiAgICIxMC4xMCIKICAgICMgIlByb2R1Y3RWZXJzaW9uOiAg +ICAxMC4xMSIgICAgICIxMC4xMSIKICAgICAgICBwcm9kdmVycz1gc3dfdmVyc3xhd2sgJy9eUHJv +ZHVjdFZlcnNpb246L3twcmludCAkMn0nfGF3ayAtRi4gJ3twcmludCAkMSIuIiQyfSdgCiAgICBj +YXNlICIkcHJvZHZlcnMiIGluCiAgICAxMC4qKQogICAgICBhZGRfbWFjb3N4X3ZlcnNpb25fbWlu +IGNjZmxhZ3MgJHByb2R2ZXJzCiAgICAgIGFkZF9tYWNvc3hfdmVyc2lvbl9taW4gbGRmbGFncyAk +cHJvZHZlcnMKICAgICAgOzsKICAgICopCiAgICAgIGNhdCA8PEVPTSA+JjQKCioqKiBVbmV4cGVj +dGVkIHByb2R1Y3QgdmVyc2lvbiAkcHJvZHZlcnMuCioqKgoqKiogVHJ5IHJ1bm5pbmcgc3dfdmVy +cyBhbmQgc2VlIHdoYXQgaXRzIFByb2R1Y3RWZXJzaW9uIHNheXMuCgpFT00KICAgICAgZXhpdCAx +CiAgICBlc2FjCgogICAgIyBUaGUgWCBpbiAxMC5YCiAgICBwcm9kdmVyc19taW5vcj0kKGVjaG8g +JHByb2R2ZXJzfGF3ayAtRi4gJ3twcmludCAkMn0nKQoKICAgICMgbWFjT1MgKDEwLjEyKSBkZXBy +ZWNhdGVkIHN5c2NhbGwoKS4KICAgIGlmIFsgIiRwcm9kdmVyc19taW5vciIgLWdlIDEyIF07IHRo +ZW4KICAgICAgICBkX3N5c2NhbGw9J3VuZGVmJwogICAgZmkKCiAgIGxkZGxmbGFncz0iJHtsZGZs +YWdzfSAtYnVuZGxlIC11bmRlZmluZWQgZHluYW1pY19sb29rdXAiCiAgIDs7CmVzYWMKCmxkbGli +cHRobmFtZT0nRFlMRF9MSUJSQVJZX1BBVEgnOwoKIyB1c2VzaHJwbGliPXRydWUgcmVzdWx0cyBp +biBtdWNoIHNsb3dlciBzdGFydHVwIHRpbWVzLgojICdmYWxzZScgaXMgdGhlIGRlZmF1bHQgdmFs +dWUuICBVc2UgQ29uZmlndXJlIC1EdXNlc2hycGxpYiB0byBvdmVycmlkZS4KCmNhdCA+IFVVL2Fy +Y2huYW1lLmNidSA8PCdFT0NCVScKIyBUaGlzIHNjcmlwdCBVVS9hcmNobmFtZS5jYnUgd2lsbCBn +ZXQgJ2NhbGxlZC1iYWNrJyBieSBDb25maWd1cmUgCiMgYWZ0ZXIgaXQgaGFzIG90aGVyd2lzZSBk +ZXRlcm1pbmVkIHRoZSBhcmNoaXRlY3R1cmUgbmFtZS4KY2FzZSAiJGxkZmxhZ3MiIGluCioiLWZs +YXRfbmFtZXNwYWNlIiopIDs7ICMgQmFja3dhcmQgY29tcGF0LCBiZSBmbGF0LgojIElmIHdlIGFy +ZSB1c2luZyB0d28tbGV2ZWwgbmFtZXNwYWNlLCB3ZSB3aWxsIG11bmdlIHRoZSBhcmNobmFtZSB0 +byBzaG93IGl0LgoqKSBhcmNobmFtZT0iJHthcmNobmFtZX0tMmxldmVsIiA7Owplc2FjCkVPQ0JV +CgojIDY0LWJpdCBhZGRyZXNzaW5nIHN1cHBvcnQuIEN1cnJlbnRseSBzdHJpY3RseSBleHBlcmlt +ZW50YWwuIERGRCAyMDA1LTA2LTA2CmNhc2UgIiR1c2U2NGJpdGFsbCIgaW4KJGRlZmluZXx0cnVl +fFt5WV0qKQpjYXNlICIkb3N2ZXJzIiBpbgpbMS03XS4qKQogICAgIGNhdCA8PEVPTSA+JjQKCgoK +KioqIDY0LWJpdCBhZGRyZXNzaW5nIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIE1hYyBPUyBYIHZlcnNp +b25zCioqKiBiZWxvdyAxMC40ICgiVGlnZXIiKSBvciBEYXJ3aW4gdmVyc2lvbnMgYmVsb3cgOC4g +UGxlYXNlIHRyeQoqKiogYWdhaW4gd2l0aG91dCAtRHVzZTY0Yml0YWxsLiAoLUR1c2U2NGJpdGlu +dCB3aWxsIHdvcmssIGhvd2V2ZXIuKQoKRU9NCiAgICAgZXhpdCAxCiAgOzsKKikKICAgIGNhc2Ug +IiRvc3ZlcnMiIGluCiAgICA4LiopCiAgICAgICAgY2F0IDw8RU9NID4mNAoKCgoqKiogUGVybCA2 +NC1iaXQgYWRkcmVzc2luZyBzdXBwb3J0IGlzIGV4cGVyaW1lbnRhbCBmb3IgTWFjIE9TIFgKKioq +IDEwLjQgKCJUaWdlciIpIGFuZCBEYXJ3aW4gdmVyc2lvbiA4LiBTeXN0ZW0gViBJUEMgaXMgZGlz +YWJsZWQKKioqIGR1ZSB0byBwcm9ibGVtcyB3aXRoIHRoZSA2NC1iaXQgdmVyc2lvbnMgb2YgbXNn +Y3RsLCBzZW1jdGwsCioqKiBhbmQgc2htY3RsLiBZb3Ugc2hvdWxkIGFsc28gZXhwZWN0IHRoZSBm +b2xsb3dpbmcgdGVzdCBmYWlsdXJlczoKKioqCioqKiAgICBleHQvdGhyZWFkcy1zaGFyZWQvdC93 +YWl0ICh0aHJlYWRlZCBidWlsZHMgb25seSkKCkVPTQoKICAgICAgICBbICIkZF9tc2djdGwiIF0g +fHwgZF9tc2djdGw9J3VuZGVmJwogICAgICAgIFsgIiRkX3NlbWN0bCIgXSB8fCBkX3NlbWN0bD0n +dW5kZWYnCiAgICAgICAgWyAiJGRfc2htY3RsIiBdIHx8IGRfc2htY3RsPSd1bmRlZicKICAgIDs7 +CiAgICBlc2FjCgogICAgY2FzZSBgdW5hbWUgLXBgIGluIAogICAgcG93ZXJwYykgYXJjaD1wcGM2 +NCA7OwogICAgaTM4NikgYXJjaD14ODZfNjQgOzsKICAgICopIGNhdCA8PEVPTSA+JjQKCioqKiBE +b24ndCByZWNvZ25pemUgcHJvY2Vzc29yLCBjYW4ndCBzcGVjaWZ5IDY0IGJpdCBjb21waWxhdGlv +bi4KCkVPTQogICAgOzsKICAgIGVzYWMKICAgIGZvciB2YXIgaW4gY2NmbGFncyBjcHBmbGFncyBs +ZCBsZGZsYWdzCiAgICBkbwogICAgICAgZXZhbCAkdmFyPSJcJCR7dmFyfVwgLWFyY2hcICRhcmNo +IgogICAgZG9uZQoKICAgIDs7CmVzYWMKOzsKZXNhYwoKIyMKIyBTeXN0ZW0gbGlicmFyaWVzCiMj +CgojIHZmb3JrIHdvcmtzCnVzZXZmb3JrPSd0cnVlJzsKCiMgbWFsbG9jIHdyYXAgd29ya3MKY2Fz +ZSAiJHVzZW1hbGxvY3dyYXAiIGluCicnKSB1c2VtYWxsb2N3cmFwPSdkZWZpbmUnIDs7CmVzYWMK +CiMgb3VyIG1hbGxvYyB3b3JrcyAoYnV0IGFsbG93IHVzZXJzIHRvIG92ZXJyaWRlKQpjYXNlICIk +dXNlbXltYWxsb2MiIGluCicnKSB1c2VteW1hbGxvYz0nbicgOzsKZXNhYwojIEhvd2V2ZXIgc2Jy +aygpIHJldHVybnMgLTEgKGZhaWx1cmUpIHNvbWV3aGVyZSBpbiBsaWIvdW5pY29yZS9ta3RhYmxl +cyBhdAojIGFyb3VuZCAxNE0sIHNvIHdlIG5lZWQgdG8gdXNlIHN5c3RlbSBtYWxsb2MoKSBhcyBv +dXIgc2JyaygpCiMKIyBzYnJrKCkgaW4gRGFyd2luIGRlcHJlY2F0ZWQgc2luY2UgTWF2ZXJpY2tz +ICgxMC45KSwgaXQgc3RpbGwgZXhpc3RzCiMgaW4gWW9zZW1pdGUgKDEwLjEwKSBidXQgdGhhdCBp +cyBqdXN0IGFuIGVtdWxhdGlvbiwgYW5kIGZhaWxzIGZvcgojIGFsbG9jYXRpb25zIGJleW9uZCA0 +TUIuICBPbmUgc2hvdWxkIHVzZSBlLmcuIG1tYXAgaW5zdGVhZCAob3Igc3lzdGVtCiMgbWFsbG9j +LCBhcyBzdWdnZXN0ZWQgYWJvdmUsIHRoYXQgYnV0IGlzIGtpbmQgb2YgYmFja3dhcmQpLgptYWxs +b2NfY2ZsYWdzPSdjY2ZsYWdzPSItRFVTRV9QRVJMX1NCUksgLURQRVJMX1NCUktfVklBX01BTExP +QyAkY2NmbGFncyInCgojIExvY2FsZXMgYXJlbid0IGZlZWxpbmcgd2VsbC4KTENfQUxMPUM7IGV4 +cG9ydCBMQ19BTEw7CkxBTkc9QzsgZXhwb3J0IExBTkc7CgojCiMgVGhlIGxpYnJhcmllcyBhcmUg +bm90IHRocmVhZHNhZmUgYXMgb2YgT1MgWCAxMC4xLgojCiMgRml4IHdoZW4gQXBwbGUgZml4ZXMg +bGliYy4KIwpjYXNlICIkdXNldGhyZWFkcyR1c2VpdGhyZWFkcyIgaW4KICAqZGVmaW5lKikKICBj +YXNlICIkb3N2ZXJzIiBpbgogICAgWzEyMzQ1XS4qKSAgICAgY2F0IDw8RU9NID4mNAoKCgoqKiog +V2FybmluZywgdGhlcmUgbWlnaHQgYmUgcHJvYmxlbXMgd2l0aCB5b3VyIGxpYnJhcmllcyB3aXRo +CioqKiByZWdhcmRzIHRvIHRocmVhZGluZy4gIFRoZSB0ZXN0IGV4dC90aHJlYWRzL3QvbGliYy50 +IGlzIGxpa2VseQoqKiogdG8gZmFpbC4KCkVPTQogICAgOzsKICAgICopIHVzZXJlZW50cmFudD0n +ZGVmaW5lJzs7CiAgZXNhYwoKZXNhYwoKIyBGaW5rIGNhbiBpbnN0YWxsIGEgR0RCTSBsaWJyYXJ5 +IHRoYXQgY2xhaW1zIHRvIGhhdmUgdGhlIE9EQk0gaW50ZXJmYWNlcwojIGJ1dCBQZXJsIGR5bmFs +b2FkZXIgY2Fubm90IGZvciBzb21lIHJlYXNvbiB1c2UgdGhhdCBsaWJyYXJ5LiAgV2UgZG9uJ3QK +IyByZWFsbHkgbmVlZCBPREJNX0ZJbGUsIHRob3VnaCwgc28gbGV0J3MganVzdCBoaW50IE9EQk0g +YXdheS4KaV9kYm09dW5kZWY7CgojIENvbmZpZ3VyZSBkb2Vzbid0IGRldGVjdCByYW5saWIgb24g +VGlnZXIgcHJvcGVybHkuCiMgTmVpbFcgc2F5cyB0aGlzIHNob3VsZCBiZSBhY2NlcHRhYmxlIG9u +IGFsbCBkYXJ3aW4gdmVyc2lvbnMuCnJhbmxpYj0ncmFubGliJwoKIyBDYXRjaCBNYWNQb3J0cyBn +Y2MvZysrIGV4dHJhIGxpYmRpcgpjYXNlICIkKCRjYyAtdiAyPiYxKSIgaW4KKiJNYWNQb3J0cyBn +Y2MiKikgbG9jbGlicHRoPSIkbG9jbGlicHRoIC9vcHQvbG9jYWwvbGliL2xpYmdjYyIgOzsKZXNh +YwoKIyMKIyBCdWlsZCBwcm9jZXNzCiMjCgojIENhc2UtaW5zZW5zaXRpdmUgZmlsZXN5c3RlbXMg +ZG9uJ3QgZ2V0IGFsb25nIHdpdGggTWFrZWZpbGUgYW5kCiMgbWFrZWZpbGUgaW4gdGhlIHNhbWUg +cGxhY2UuICBTaW5jZSBEYXJ3aW4gdXNlcyBHTlUgbWFrZSwgdGhpcyBkb2RnZXMKIyB0aGUgcHJv +YmxlbS4KZmlyc3RtYWtlZmlsZT1HTlVtYWtlZmlsZTsKCiMgUGFydHMgb2YgdGhlIHN5c3RlbSBj +YWxsIHNldGVudigpLCBpbiBwYXJ0aWN1bGFyIGluIGFuIGF0Zm9yayBoYW5kbGVyLgojIFRoaXMg +Y2F1c2VzIHByb2JsZW1zIHdoZW4gdGhlIGNoaWxkIHRyaWVzIHRvIGNsZWFuIHVwIGVudmlyb25b +XSwgc28KIyBsZXQgbGliYyBtYW5hZ2UgZW52aXJvbltdLgpjYXQgPj4gY29uZmlnLm92ZXIgPDwn +RU9PVkVSJwppZiB0ZXN0ICIkZF91bnNldGVudiIgPSAiJGRlZmluZSIgLWEgXAogICAgYGV4cHIg +IiRjY2ZsYWdzIiA6ICcuKi1EUEVSTF9VU0VfU0FGRV9QVVRFTlYnYCAtZXEgMDsgdGhlbgogICAg +ICAgIGNjZmxhZ3M9IiRjY2ZsYWdzIC1EUEVSTF9VU0VfU0FGRV9QVVRFTlYiCmZpCkVPT1ZFUgo=', 'dragonfly' => 'IyBoaW50cy9kcmFnb25mbHkuc2gKIwojIFRoaXMgZmlsZSBpcyBtb3N0bHkgY29waWVkIGZyb20g aGludHMvZnJlZWJzZC5zaCB3aXRoIHRoZSBPUyB2ZXJzaW9uCiMgaW5mb3JtYXRpb24gdGFrZW4g @@ -1195,175 +1198,128 @@ ICBpZiAkdGVzdCAiWCRsaWJjIiAhPSBYOyB0aGVuCiAgICAgICAgICAgICAgICAgICAgYnJlYWsK ICAgICAgICAgICAgICAgIGZpCiAgICAgICAgICAgIGZpCiAgICAgICAgZG9uZQogICAgICAgIGlm ICR0ZXN0ICJYJGxpYmMiICE9IFg7IHRoZW4KICAgICAgICAgICAgYnJlYWsKICAgICAgICBmaQog -ICAgZG9uZQogICAgOzsKZXNhYwoKIyBBcmUgd2UgdXNpbmcgRUxGPyAgVGhhbmtzIHRvIEtlbm5l -dGggQWxiYW5vd3NraSA8a2phaGRzQGtqYWhkcy5jb20+CiMgZm9yIHRoaXMgdGVzdC4KY2F0ID50 -cnkuYyA8PCdFT00nCi8qIFRlc3QgZm9yIHdoZXRoZXIgRUxGIGJpbmFyaWVzIGFyZSBwcm9kdWNl -ZCAqLwojaW5jbHVkZSA8ZmNudGwuaD4KI2luY2x1ZGUgPHN0ZGxpYi5oPgojaW5jbHVkZSA8dW5p -c3RkLmg+Cm1haW4oKSB7CgljaGFyIGJ1ZmZlcls0XTsKCWludCBpPW9wZW4oImEub3V0IixPX1JE -T05MWSk7CglpZihpPT0tMSkKCQlleGl0KDEpOyAvKiBmYWlsICovCglpZihyZWFkKGksJmJ1ZmZl -clswXSw0KTw0KQoJCWV4aXQoMSk7IC8qIGZhaWwgKi8KCWlmKGJ1ZmZlclswXSAhPSAxMjcgfHwg -YnVmZmVyWzFdICE9ICdFJyB8fAogICAgICAgICAgIGJ1ZmZlclsyXSAhPSAnTCcgfHwgYnVmZmVy -WzNdICE9ICdGJykKCQlleGl0KDEpOyAvKiBmYWlsICovCglleGl0KDApOyAvKiBzdWNjZWVkICh5 -ZXMsIGl0J3MgRUxGKSAqLwp9CkVPTQppZiAke2NjOi1nY2N9ICRjY2ZsYWdzICRsZGZsYWdzIHRy -eS5jID4vZGV2L251bGwgMj4mMSAmJiAkcnVuIC4vYS5vdXQ7IHRoZW4KICAgIGNhdCA8PCdFT00n -ID4mNAoKWW91IGFwcGVhciB0byBoYXZlIEVMRiBzdXBwb3J0LiAgSSdsbCB0cnkgdG8gdXNlIGl0 -IGZvciBkeW5hbWljIGxvYWRpbmcuCklmIGR5bmFtaWMgbG9hZGluZyBkb2Vzbid0IHdvcmssIHJl -YWQgaGludHMvbGludXguc2ggZm9yIGZ1cnRoZXIgaW5mb3JtYXRpb24uCkVPTQoKZWxzZQogICAg -Y2F0IDw8J0VPTScgPiY0CgpZb3UgZG9uJ3QgaGF2ZSBhbiBFTEYgZ2NjLiAgSSB3aWxsIHVzZSBk -bGQgaWYgcG9zc2libGUuICBJZiB5b3UgYXJlCnVzaW5nIGEgdmVyc2lvbiBvZiBETEQgZWFybGll -ciB0aGFuIDMuMi42LCBvciBkb24ndCBoYXZlIGl0IGF0IGFsbCwgeW91CnNob3VsZCBwcm9iYWJs -eSB1cGdyYWRlLiBJZiB5b3UgYXJlIGZvcmNlZCB0byB1c2UgMy4yLjQsIHlvdSBzaG91bGQKdW5j -b21tZW50IGEgY291cGxlIG9mIGxpbmVzIGluIGhpbnRzL2xpbnV4LnNoIGFuZCByZXN0YXJ0IENv -bmZpZ3VyZSBzbwp0aGF0IHNoYXJlZCBsaWJyYXJpZXMgd2lsbCBiZSBkaXNhbGxvd2VkLgoKRU9N -CiAgICBsZGRsZmxhZ3M9Ii1yICRsZGRsZmxhZ3MiCiAgICAjIFRoZXNlIGVtcHR5IHZhbHVlcyBh -cmUgc28gdGhhdCBDb25maWd1cmUgZG9lc24ndCBwdXQgaW4gdGhlCiAgICAjIExpbnV4IEVMRiB2 -YWx1ZXMuCiAgICBjY2RsZmxhZ3M9JyAnCiAgICBjY2NkbGZsYWdzPScgJwogICAgY2NmbGFncz0i -LURPVlJfREJMX0RJRz0xNCAkY2NmbGFncyIKICAgIHNvPSdzYScKICAgIGRsZXh0PSdvJwogICAg -bm1fc29fb3B0PScgJwogICAgIyMgSWYgeW91IGFyZSB1c2luZyBETEQgMy4yLjQgd2hpY2ggZG9l -cyBub3Qgc3VwcG9ydCBzaGFyZWQgbGlicywKICAgICMjIHVuY29tbWVudCB0aGUgbmV4dCB0d28g -bGluZXM6CiAgICAjbGRmbGFncz0iLXN0YXRpYyIKICAgICNzbz0nbm9uZScKCgkjIEluIGFkZGl0 -aW9uLCBvbiBzb21lIHN5c3RlbXMgdGhlcmUgaXMgYSBwcm9ibGVtIHdpdGggcGVybCBhbmQgTkRC -TQoJIyB3aGljaCBjYXVzZXMgQW55REJNIGFuZCBOREJNX0ZpbGUgdG8gbG9jayB1cC4gVGhpcyBp -cyBldmlkZW5jZWQKCSMgaW4gdGhlIHRlc3RzIGFzIEFueURCTSBqdXN0IGZyZWV6aW5nLiAgQXBw -YXJlbnRseSwgdGhpcyBvbmx5CgkjIGhhcHBlbnMgb24gYS5vdXQgc3lzdGVtcywgc28gd2UgZGlz -YWJsZSBOREJNIGZvciBhbGwgYS5vdXQgbGludXgKCSMgc3lzdGVtcy4gIElmIHNvbWVvbmUgY2Fu -IHN1Z2dlc3QgYSBtb3JlIHJvYnVzdCB0ZXN0CgkjICB0aGF0IHdvdWxkIGJlIGFwcHJlY2lhdGVk -LgoJIwoJIyBNb3JlIGluZm86CgkjIERhdGU6IFdlZCwgNyBGZWIgMTk5NiAwMzoyMTowNCArMDkw -MAoJIyBGcm9tOiBKZWZmcmV5IEZyaWVkbCA8amZyaWVkbEBuZmYubmNsLm9tcm9uLmNvLmpwPgoJ -IwoJIyBJIHRyaWVkIGNvbXBpbGluZyB3aXRoIERCTSBzdXBwb3J0IGFuZCBzdXJlIGVub3VnaCB0 -aGluZ3MgbG9ja2VkIHVwCgkjIGp1c3QgYXMgYWR2ZXJ0aXNlZC4gQ2hlY2tpbmcgaW50byBpdCwg -SSBmb3VuZCB0aGF0IHRoZSBsb2NrdXAgd2FzCgkjIGR1cmluZyB0aGUgY2FsbCB0byBkYm1fb3Bl -bi4gTm90ICppbiogZGJtX29wZW4gLS0gYnV0IGJldHdlZW4gdGhlIGNhbGwKCSMgdG8gYW5kIHRo -ZSBqdW1wIGludG8uCgkjCgkjIFRvIG1ha2UgYSBsb25nIHN0b3J5IHNob3J0LCBtYWtpbmcgc3Vy -ZSB0aGF0IHRoZSAqLmEgYW5kICouc2EgcGFpcnMgb2YKCSMgICAvdXNyL2xpYi9saWJ7bSxkYixn -ZGJtfS57YSxzYX0KCSMgd2VyZSBwZXJmZWN0bHkgaW4gc3luYyB0b29rIGNhcmUgb2YgaXQuCgkj -CgkjIFRoaXMgd2lsbCBnZW5lcmF0ZSBhIGhhcm1sZXNzIFdob2EgVGhlcmUhIG1lc3NhZ2UKCWNh -c2UgIiRkX2RibV9vcGVuIiBpbgoJJycpCWNhdCA8PCdFT00nID4mNAoKRGlzYWJsaW5nIG5kYm0u -ICBUaGlzIHdpbGwgZ2VuZXJhdGUgYSBXaG9hIFRoZXJlIG1lc3NhZ2UgaW4gQ29uZmlndXJlLgpS -ZWFkIGhpbnRzL2xpbnV4LnNoIGZvciBmdXJ0aGVyIGluZm9ybWF0aW9uLgpFT00KCQkjIFlvdSBj -YW4gb3ZlcnJpZGUgdGhpcyB3aXRoIENvbmZpZ3VyZSAtRGRfZGJtX29wZW4KCQlkX2RibV9vcGVu -PXVuZGVmCgkJOzsKCWVzYWMKZmkKCnJtIC1mIHRyeS5jIGEub3V0CgppZiAke3NoOi0vYmluL3No -fSAtYyBleGl0OyB0aGVuCiAgZWNobyAnJwogIGVjaG8gJ1lvdSBhcHBlYXIgdG8gaGF2ZSBhIHdv -cmtpbmcgYmFzaC4gIEdvb2QuJwplbHNlCiAgY2F0IDw8ICdFT00nID4mNAoKKioqKioqKioqKioq -KioqKioqKioqKiogV2FybmluZyEgKioqKioqKioqKioqKioqKioqKioqCkl0IHdvdWxkIGFwcGVh -ciB5b3UgaGF2ZSBhIGRlZmVjdGl2ZSBiYXNoIHNoZWxsIGluc3RhbGxlZC4gVGhpcyBpcyBsaWtl -bHkgdG8KZ2l2ZSB5b3UgYSBmYWlsdXJlIG9mIG9wL2V4ZWMgdGVzdCAjNSBkdXJpbmcgdGhlIHRl -c3QgcGhhc2Ugb2YgdGhlIGJ1aWxkLApVcGdyYWRpbmcgdG8gYSByZWNlbnQgdmVyc2lvbiAoMS4x -NC40IG9yIGxhdGVyKSBzaG91bGQgZml4IHRoZSBwcm9ibGVtLgoqKioqKioqKioqKioqKioqKioq -KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKRU9NCgpmaQoKIyBPbiBTUEFSQ2xp -bnV4LAojIFRoZSBmb2xsb3dpbmcgY3NoIGNvbnNpc3RlbnRseSBjb3JlZHVtcGVkIGluIHRoZSB0 -ZXN0IGRpcmVjdG9yeQojICIvaG9tZS9taWtlZGxyL3Blcmw1LjAwM185NC90IiwgdGhvdWdoIG5v -dCBtb3N0IG90aGVyIGRpcmVjdG9yaWVzLgoKI05hbWUgICAgICAgIDogY3NoICAgICAgICAgICAg -ICAgICAgICBEaXN0cmlidXRpb246IFJlZCBIYXQgTGludXggKFJlbWJyYW5kdCkKI1ZlcnNpb24g -ICAgIDogNS4yLjYgICAgICAgICAgICAgICAgICAgICAgICBWZW5kb3I6IFJlZCBIYXQgU29mdHdh -cmUKI1JlbGVhc2UgICAgIDogMyAgICAgICAgICAgICAgICAgICAgICAgIEJ1aWxkIERhdGU6IEZy -aSBNYXkgMjQgMTk6NDI6MTQgMTk5NgojSW5zdGFsbCBkYXRlOiBUaHUgSnVsIDExIDE2OjIwOjE0 -IDE5OTYgQnVpbGQgSG9zdDogaXRjaHkucmVkaGF0LmNvbQojR3JvdXAgICAgICAgOiBTaGVsbHMg -ICAgICAgICAgICAgICAgICAgU291cmNlIFJQTTogY3NoLTUuMi42LTMuc3JjLnJwbQojU2l6ZSAg -ICAgICAgOiAxODQ0MTcKI0Rlc2NyaXB0aW9uIDogQlNEIGMtc2hlbGwKCiMgRm9yIHRoaXMgcmVh -c29uIEkgc3VnZ2VzdCB1c2luZyB0aGUgbXVjaCBidWctZml4ZWQgdGNzaCBmb3IgZ2xvYmJpbmcK -IyB3aGVyZSBhdmFpbGFibGUuCgojIE5vdmVtYmVyIDIwMDE6ICBUaGF0IHdhcm5pbmcncyBwcmV0 -dHkgb2xkIG5vdyBhbmQgcHJvYmFibHkgbm90IHNvCiMgcmVsZXZhbnQsIGVzcGVjaWFsbHkgc2lu -Y2UgcGVybCBub3cgdXNlcyBGaWxlOjpHbG9iIGZvciBnbG9iYmluZy4KIyBXZSdsbCBzdGlsbCBs -b29rIGZvciB0Y3NoLCBidXQgdG9uZSBkb3duIHRoZSB3YXJuaW5ncy4KIyBBbmR5IERvdWdoZXJ0 -eSwgTm92LiA2LCAyMDAxCmlmICRjc2ggLWMgJ2VjaG8gJHZlcnNpb24nID4vZGV2L251bGwgMj4m -MTsgdGhlbgogICAgZWNobyAnWW91ciBjc2ggaXMgcmVhbGx5IHRjc2guICBHb29kLicKZWxzZQog -ICAgaWYgeHh4PWAuL1VVL2xvYyB0Y3NoIGJsdXJmbCAkcHRoYDsgJHRlc3QgLWYgIiR4eHgiOyB0 -aGVuCgllY2hvICJGb3VuZCB0Y3NoLiAgSSdsbCB1c2UgaXQgZm9yIGdsb2JiaW5nLiIKCSMgV2Ug -Y2FuJ3QgY2hhbmdlIENvbmZpZ3VyZSdzIHNldHRpbmcgb2YgJGNzaCwgZHVlIHRvIHRoZSB3YXkK -CSMgQ29uZmlndXJlIGhhbmRsZXMgJGRfcG9ydGFibGUgYW5kIGNvbW1hbmRzIGZvdW5kIGluICRs -b2NsaXN0LgoJIyBXZSBjYW4gc2V0IHRoZSB2YWx1ZSBmb3IgQ1NIIGluIGNvbmZpZy5oIGJ5IHNl -dHRpbmcgZnVsbF9jc2guCglmdWxsX2NzaD0keHh4CiAgICBlbGlmIFsgLWYgIiRjc2giIF07IHRo -ZW4KCWVjaG8gIkNvdWxkbid0IGZpbmQgdGNzaC4gIENzaC1iYXNlZCBnbG9iYmluZyBtaWdodCBi -ZSBicm9rZW4uIgogICAgZmkKZmkKCiMgU2hpbXBlaSBZYW1hc2hpdGEgPHNoaW1wZWlAc29jcmF0 -ZXMucGF0bmV0LmNhbHRlY2guZWR1PgojIE1lc3NhZ2UtSWQ6IDwzM0VGMTYzNC5CMzZCNjUwMEBw -b2JveC5jb20+CiMKIyBUaGUgRFIyIG9mIE1rTGludXggKG9zbmFtZT1saW51eCxhcmNobmFtZT1w -cGMtbGludXgpIG1heSBuZWVkCiMgc3BlY2lhbCBmbGFncyBwYXNzZWQgaW4gb3JkZXIgZm9yIGR5 -bmFtaWMgbG9hZGluZyB0byB3b3JrLgojIGluc3RlYWQgb2YgdGhlIHJlY29tbWVuZGVkOgojCiMg -Y2NkbGZsYWdzPSctcmR5bmFtaWMnCiMKIyBpdCBzaG91bGQgYmU6CiMgY2NkbGZsYWdzPSctV2ws -LUUnCiMKIyBTbyBpZiB5b3VyIERSMiAoRFIzIGNhbWUgb3V0IHN1bW1lciAxOTk4LCBjb25zaWRl -ciB1cGdyYWRpbmcpCiMgaGFzIHByb2JsZW1zIHdpdGggZHluYW1pYyBsb2FkaW5nLCB1bmNvbW1l -bnQgdGhlCiMgZm9sbG93aW5nIHRocmVlIGxpbmVzLCBtYWtlIGRpc3RjbGVhbiwgYW5kIHJlLUNv -bmZpZ3VyZToKI2Nhc2UgImB1bmFtZSAtciB8IHNlZCAncy9eWzAtOS4tXSovLydgYGFyY2hgIiBp -bgojJ29zZm1hY2gzcHBjJykgY2NkbGZsYWdzPSctV2wsLUUnIDs7CiNlc2FjCgpjYXNlICIkdW5h -bWVfbWludXNfbSIgaW4Kc3BhcmMqKQoJY2FzZSAiJGNjY2RsZmxhZ3MiIGluCgkqLWZwaWMqKSBj -Y2NkbGZsYWdzPSJgZWNobyAkY2NjZGxmbGFnc3xzZWQgJ3MvLWZwaWMvLWZQSUMvJ2AiIDs7Cgkq -LWZQSUMqKSA7OwoJKikJIGNjY2RsZmxhZ3M9IiRjY2NkbGZsYWdzIC1mUElDIiA7OwoJZXNhYwoJ -OzsKZXNhYwoKIyBTdVNFOC4yIGhhcyAvdXNyL2xpYi9saWJuZGJtKiB3aGljaCBhcmUgbGQgc2Ny -aXB0cyByYXRoZXIgdGhhbgojIHRydWUgbGlicmFyaWVzLiBUaGUgc2NyaXB0cyBjYXVzZSBiaW5k -aW5nIGFnYWluc3Qgc3RhdGljCiMgdmVyc2lvbiBvZiAtbGdkYm0gd2hpY2ggaXMgYSBiYWQgaWRl -YS4gU28gaWYgd2UgaGF2ZSAnbm0nCiMgbWFrZSBzdXJlIGl0IGNhbiByZWFkIHRoZSBmaWxlCiMg -TkktUyAyMDAzLzA4LzA3CmNhc2UgIiRubSIgaW4KICAgICcnKSA7OwogICAgKikKICAgIGZvciBw -IGluICRwbGlicHRoCiAgICBkbwogICAgICAgIGlmICR0ZXN0IC1yICRwL2xpYm5kYm0uc287IHRo -ZW4KICAgICAgICAgICAgaWYgJG5tICRwL2xpYm5kYm0uc28gPi9kZXYvbnVsbCAyPiYxIDsgdGhl -bgogICAgICAgICAgICAgICAgZWNobyAnWW91ciBzaGFyZWQgLWxuZGJtIHNlZW1zIHRvIGJlIGEg -cmVhbCBsaWJyYXJ5LicKICAgICAgICAgICAgICAgIF9saWJuZGJtX3JlYWw9MQogICAgICAgICAg -ICAgICAgYnJlYWsKICAgICAgICAgICAgZmkKICAgICAgICBmaQogICAgZG9uZQogICAgaWYgJHRl -c3QgIlgkX2xpYm5kYm1fcmVhbCIgPSBYOyB0aGVuCiAgICAgICAgZWNobyAnWW91ciBzaGFyZWQg -LWxuZGJtIGlzIG5vdCBhIHJlYWwgbGlicmFyeS4nCiAgICAgICAgc2V0IGBlY2hvIFggIiRsaWJz -d2FudGVkICJ8IHNlZCAtZSAncy8gbmRibSAvIC8nYAogICAgICAgIHNoaWZ0CiAgICAgICAgbGli -c3dhbnRlZD0iJCoiCiAgICBmaQogICAgOzsKZXNhYwoKIyBMaW51eCBvbiBTeW5vbG9neS4KaWYg -WyAtZiAvZXRjL3N5bm9pbmZvLmNvbmYgLWEgLWQgL3Vzci9zeW5vIF07IHRoZW4KICAgICMgVGVz -dGVkIG9uIFN5bm9sb2d5IERTMjEzIGFuZCBEUzQxMwogICAgIyAgT1MgdmVyc2lvbiBpbmZvIGlu -IC9ldGMuZGVmYXVsdHMvVkVSU0lPTgogICAgIyAgaHR0cDovL2ZvcnVtLnN5bm9sb2d5LmNvbS93 -aWtpL2luZGV4LnBocC9XaGF0X2tpbmRfb2ZfQ1BVX2RvZXNfbXlfTkFTX2hhdmUKICAgICMgU3lu -b2xvZ3kgRFMyMTMgcnVubmluZyBEU00gNC4zLTM4MTAtMCAoMjAxMy0xMS0wNikKICAgICMgIENQ -VSBtb2RlbCBNYXJ2ZWxsIEtpcmt3b29kIG12NjI4MiBBUk12NXRlCiAgICAjICBMaW51eCAyLjYu -MzIuMTIgIzM4MTAgV2VkIE5vdiA2IDA1OjEzOjQxIENTVCAyMDEzIGFybXY1dGVsIEdOVS9MaW51 -eAogICAgIyBTeW5vbG9neSBEUzQxMyBydW5uaW5nIERTTSA0LjMtMzgxMC0wICgyMDEzLTExLTA2 -KQogICAgIyAgQ1BVIG1vZGVsIEZyZWVzY2FsZSBRb3JJUSBQMTAyMiBwcGMgKGU1MDB2MikKICAg -ICMgIGxpbnV4IDIuNi4zMi4xMiAjMzgxMCBwcGMgR05VL0xpbnV4CiAgICAjIEFsbCBkZXZlbG9w -bWVudCBzdHVmZiBpbnN0YWxsZWQgd2l0aCBpcGtnIGlzIGluIC9vcHQKICAgIGlmIFsgIiRMQU5H -IiA9ICIiIC1vICIkTEFORyIgPSAiQyIgXTsgdGhlbgoJZWNobyAnWW91ciBMQU5HIGlzIHNhZmUn -CiAgICBlbHNlCgllY2hvICdQbGVhc2Ugc2V0ICRMQU5HIHRvICJDIi4gQWxsIG90aGVyICRMQU5H -IHNldHRpbmdzIHdpbGwgY2F1c2UgaGF2b2MnID4mNAoJTEFORz1DCiAgICBmaQogICAgZWNobyAn -U2V0dGluZyB1cCB0byB1c2UgL29wdC8qJyA+JjQKICAgIGxvY2luY3B0aD0iL29wdC9pbmNsdWRl -ICRsb2NpbmNwdGgiCiAgICBsaWJwdGg9Ii9vcHQvbGliICRsaWJwdGgiCiAgICBsaWJzcHRoPSIv -b3B0L2xpYiAkbGlic3B0aCIKICAgIGxvY2xpYnB0aD0iL29wdC9saWIgJGxvY2xpYnB0aCIKICAg -ICMgUE9TSVggd2lsbCBub3QgbGluayB3aXRob3V0IHRoZSBwdGhyZWFkIGxpYgogICAgbGlic3dh -bnRlZD0iJGxpYnN3YW50ZWQgcHRocmVhZCIKICAgIGVjaG8gIiRsaWJzd2FudGVkIiA+JjQKZmkK -CiMgVGhpcyBzY3JpcHQgVVUvdXNldGhyZWFkcy5jYnUgd2lsbCBnZXQgJ2NhbGxlZC1iYWNrJyBi -eSBDb25maWd1cmUKIyBhZnRlciBpdCBoYXMgcHJvbXB0ZWQgdGhlIHVzZXIgZm9yIHdoZXRoZXIg -dG8gdXNlIHRocmVhZHMuCmNhdCA+IFVVL3VzZXRocmVhZHMuY2J1IDw8J0VPQ0JVJwpjYXNlICIk -dXNldGhyZWFkcyIgaW4KJGRlZmluZXx0cnVlfFt5WV0qKQogICAgICAgIGNjZmxhZ3M9Ii1EX1JF -RU5UUkFOVCAtRF9HTlVfU09VUkNFICRjY2ZsYWdzIgogICAgICAgIGlmIGVjaG8gJGxpYnN3YW50 -ZWQgfCBncmVwIC12IHB0aHJlYWQgPi9kZXYvbnVsbAogICAgICAgIHRoZW4KICAgICAgICAgICAg -c2V0IGBlY2hvIFggIiRsaWJzd2FudGVkICJ8IHNlZCAtZSAncy8gYyAvIHB0aHJlYWQgYyAvJ2AK -ICAgICAgICAgICAgc2hpZnQKICAgICAgICAgICAgbGlic3dhbnRlZD0iJCoiCiAgICAgICAgZmkK -CgkjIFNvbWVob3cgYXQgbGVhc3QgaW4gRGViaWFuIDIuMiB0aGVzZSBtYW5hZ2UgdG8gZXNjYXBl -CgkjIHRoZSAjZGVmaW5lIGZvcmVzdCBvZiA8ZmVhdHVyZXMuaD4gYW5kIDx0aW1lLmg+IHNvIHRo -YXQKCSMgdGhlIGhhc3Byb3RvIG1hY3JvIG9mIENvbmZpZ3VyZSBkb2Vzbid0IHNlZSB0aGVzZSBw -cm90b3MsCgkjIGV2ZW4gd2l0aCB0aGUgLURfR05VX1NPVVJDRS4KCglkX2FzY3RpbWVfcl9wcm90 -bz0iJGRlZmluZSIKCWRfY3J5cHRfcl9wcm90bz0iJGRlZmluZSIKCWRfY3RpbWVfcl9wcm90bz0i -JGRlZmluZSIKCWRfZ210aW1lX3JfcHJvdG89IiRkZWZpbmUiCglkX2xvY2FsdGltZV9yX3Byb3Rv -PSIkZGVmaW5lIgoJZF9yYW5kb21fcl9wcm90bz0iJGRlZmluZSIKCgk7Owplc2FjCkVPQ0JVCgpj -YXQgPiBVVS91c2VsYXJnZWZpbGVzLmNidSA8PCdFT0NCVScKIyBUaGlzIHNjcmlwdCBVVS91c2Vs -YXJnZWZpbGVzLmNidSB3aWxsIGdldCAnY2FsbGVkLWJhY2snIGJ5IENvbmZpZ3VyZQojIGFmdGVy -IGl0IGhhcyBwcm9tcHRlZCB0aGUgdXNlciBmb3Igd2hldGhlciB0byB1c2UgbGFyZ2UgZmlsZXMu -CmNhc2UgIiR1c2VsYXJnZWZpbGVzIiBpbgonJ3wkZGVmaW5lfHRydWV8W3lZXSopCiMgS2VlcCB0 -aGlzIGluIHRoZSBsZWZ0IG1hcmdpbi4KY2NmbGFnc191c2VsYXJnZWZpbGVzPSItRF9MQVJHRUZJ -TEVfU09VUkNFIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQiCgoJY2NmbGFncz0iJGNjZmxhZ3MgJGNj -ZmxhZ3NfdXNlbGFyZ2VmaWxlcyIKCTs7CmVzYWMKRU9DQlUKCiMgUHVyaWZ5IGZhaWxzIHRvIGxp -bmsgUGVybCBpZiBhICItbGMiIGlzIHBhc3NlZCBpbnRvIGl0cyBsaW5rZXIKIyBkdWUgdG8gZHVw -bGljYXRlIHN5bWJvbHMuCmNhc2UgIiRQVVJJRlkiIGluCiRkZWZpbmV8dHJ1ZXxbeVldKikKICAg -IHNldCBgZWNobyBYICIkbGlic3dhbnRlZCAifCBzZWQgLWUgJ3MvIGMgLyAvJ2AKICAgIHNoaWZ0 -CiAgICBsaWJzd2FudGVkPSIkKiIKICAgIDs7CmVzYWMKCiMgSWYgdXNpbmcgZysrLCB0aGUgQ29u -ZmlndXJlIHNjYW4gZm9yIGRsb3BlbigpIGFuZCAoZXNwZWNpYWxseSkKIyBkbGVycm9yKCkgbWln -aHQgZmFpbCwgZWFzaWVyIGp1c3QgdG8gZm9yY2libHkgaGludCB0aGVtIGluLgpjYXNlICIkY2Mi -IGluCipnKysqKQogIGRfZGxvcGVuPSdkZWZpbmUnCiAgZF9kbGVycm9yPSdkZWZpbmUnCiAgOzsK -ZXNhYwoKIyBVbmRlciBzb21lIGNpcmN1bXN0YW5jZXMgbGliZGIgY2FuIGdldCBidWlsdCBpbiBz -dWNoIGEgd2F5IGFzIHRvCiMgbmVlZCBwdGhyZWFkIGV4cGxpY2l0bHkgbGlua2VkLgoKbGliZGJf -bmVlZHNfcHRocmVhZD0iTiIKCmlmIGVjaG8gIiAkbGlic3dhbnRlZCAiIHwgZ3JlcCAtdiAiIHB0 -aHJlYWQgIiA+L2Rldi9udWxsCnRoZW4KICAgaWYgZWNobyAiICRsaWJzd2FudGVkICIgfCBncmVw -ICIgZGIgIiA+L2Rldi9udWxsCiAgIHRoZW4KICAgICBmb3IgREJESVIgaW4gJGdsaWJwdGgKICAg -ICBkbwogICAgICAgREJMSUI9IiREQkRJUi9saWJkYi5zbyIKICAgICAgIGlmIFsgLWYgJERCTElC -IF0KICAgICAgIHRoZW4KICAgICAgICAgaWYgJHtubTotbm19IC11ICREQkxJQiAyPi9kZXYvbnVs -bCB8IGdyZXAgcHRocmVhZCA+L2Rldi9udWxsCiAgICAgICAgIHRoZW4KICAgICAgICAgICBpZiBs -ZGQgJERCTElCIHwgZ3JlcCBwdGhyZWFkID4vZGV2L251bGwKICAgICAgICAgICB0aGVuCiAgICAg -ICAgICAgICBsaWJkYl9uZWVkc19wdGhyZWFkPSJOIgogICAgICAgICAgIGVsc2UKICAgICAgICAg -ICAgIGxpYmRiX25lZWRzX3B0aHJlYWQ9IlkiCiAgICAgICAgICAgZmkKICAgICAgICAgZmkKICAg -ICAgIGZpCiAgICAgZG9uZQogICBmaQpmaQoKY2FzZSAiJGxpYmRiX25lZWRzX3B0aHJlYWQiIGlu -CiAgIlkiKQogICAgbGlic3dhbnRlZD0iJGxpYnN3YW50ZWQgcHRocmVhZCIKICAgIDs7CmVzYWMK', +ICAgZG9uZQogICAgOzsKZXNhYwoKaWYgJHtzaDotL2Jpbi9zaH0gLWMgZXhpdDsgdGhlbgogIGVj +aG8gJycKICBlY2hvICdZb3UgYXBwZWFyIHRvIGhhdmUgYSB3b3JraW5nIGJhc2guICBHb29kLicK +ZWxzZQogIGNhdCA8PCAnRU9NJyA+JjQKCioqKioqKioqKioqKioqKioqKioqKioqIFdhcm5pbmch +ICoqKioqKioqKioqKioqKioqKioqKgpJdCB3b3VsZCBhcHBlYXIgeW91IGhhdmUgYSBkZWZlY3Rp +dmUgYmFzaCBzaGVsbCBpbnN0YWxsZWQuIFRoaXMgaXMgbGlrZWx5IHRvCmdpdmUgeW91IGEgZmFp +bHVyZSBvZiBvcC9leGVjIHRlc3QgIzUgZHVyaW5nIHRoZSB0ZXN0IHBoYXNlIG9mIHRoZSBidWls +ZCwKVXBncmFkaW5nIHRvIGEgcmVjZW50IHZlcnNpb24gKDEuMTQuNCBvciBsYXRlcikgc2hvdWxk +IGZpeCB0aGUgcHJvYmxlbS4KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq +KioqKioqKioqKioqKioqCkVPTQoKZmkKCiMgT24gU1BBUkNsaW51eCwKIyBUaGUgZm9sbG93aW5n +IGNzaCBjb25zaXN0ZW50bHkgY29yZWR1bXBlZCBpbiB0aGUgdGVzdCBkaXJlY3RvcnkKIyAiL2hv +bWUvbWlrZWRsci9wZXJsNS4wMDNfOTQvdCIsIHRob3VnaCBub3QgbW9zdCBvdGhlciBkaXJlY3Rv +cmllcy4KCiNOYW1lICAgICAgICA6IGNzaCAgICAgICAgICAgICAgICAgICAgRGlzdHJpYnV0aW9u +OiBSZWQgSGF0IExpbnV4IChSZW1icmFuZHQpCiNWZXJzaW9uICAgICA6IDUuMi42ICAgICAgICAg +ICAgICAgICAgICAgICAgVmVuZG9yOiBSZWQgSGF0IFNvZnR3YXJlCiNSZWxlYXNlICAgICA6IDMg +ICAgICAgICAgICAgICAgICAgICAgICBCdWlsZCBEYXRlOiBGcmkgTWF5IDI0IDE5OjQyOjE0IDE5 +OTYKI0luc3RhbGwgZGF0ZTogVGh1IEp1bCAxMSAxNjoyMDoxNCAxOTk2IEJ1aWxkIEhvc3Q6IGl0 +Y2h5LnJlZGhhdC5jb20KI0dyb3VwICAgICAgIDogU2hlbGxzICAgICAgICAgICAgICAgICAgIFNv +dXJjZSBSUE06IGNzaC01LjIuNi0zLnNyYy5ycG0KI1NpemUgICAgICAgIDogMTg0NDE3CiNEZXNj +cmlwdGlvbiA6IEJTRCBjLXNoZWxsCgojIEZvciB0aGlzIHJlYXNvbiBJIHN1Z2dlc3QgdXNpbmcg +dGhlIG11Y2ggYnVnLWZpeGVkIHRjc2ggZm9yIGdsb2JiaW5nCiMgd2hlcmUgYXZhaWxhYmxlLgoK +IyBOb3ZlbWJlciAyMDAxOiAgVGhhdCB3YXJuaW5nJ3MgcHJldHR5IG9sZCBub3cgYW5kIHByb2Jh +Ymx5IG5vdCBzbwojIHJlbGV2YW50LCBlc3BlY2lhbGx5IHNpbmNlIHBlcmwgbm93IHVzZXMgRmls +ZTo6R2xvYiBmb3IgZ2xvYmJpbmcuCiMgV2UnbGwgc3RpbGwgbG9vayBmb3IgdGNzaCwgYnV0IHRv +bmUgZG93biB0aGUgd2FybmluZ3MuCiMgQW5keSBEb3VnaGVydHksIE5vdi4gNiwgMjAwMQppZiAk +Y3NoIC1jICdlY2hvICR2ZXJzaW9uJyA+L2Rldi9udWxsIDI+JjE7IHRoZW4KICAgIGVjaG8gJ1lv +dXIgY3NoIGlzIHJlYWxseSB0Y3NoLiAgR29vZC4nCmVsc2UKICAgIGlmIHh4eD1gLi9VVS9sb2Mg +dGNzaCBibHVyZmwgJHB0aGA7ICR0ZXN0IC1mICIkeHh4IjsgdGhlbgoJZWNobyAiRm91bmQgdGNz +aC4gIEknbGwgdXNlIGl0IGZvciBnbG9iYmluZy4iCgkjIFdlIGNhbid0IGNoYW5nZSBDb25maWd1 +cmUncyBzZXR0aW5nIG9mICRjc2gsIGR1ZSB0byB0aGUgd2F5CgkjIENvbmZpZ3VyZSBoYW5kbGVz +ICRkX3BvcnRhYmxlIGFuZCBjb21tYW5kcyBmb3VuZCBpbiAkbG9jbGlzdC4KCSMgV2UgY2FuIHNl +dCB0aGUgdmFsdWUgZm9yIENTSCBpbiBjb25maWcuaCBieSBzZXR0aW5nIGZ1bGxfY3NoLgoJZnVs +bF9jc2g9JHh4eAogICAgZWxpZiBbIC1mICIkY3NoIiBdOyB0aGVuCgllY2hvICJDb3VsZG4ndCBm +aW5kIHRjc2guICBDc2gtYmFzZWQgZ2xvYmJpbmcgbWlnaHQgYmUgYnJva2VuLiIKICAgIGZpCmZp +CgojIFNoaW1wZWkgWWFtYXNoaXRhIDxzaGltcGVpQHNvY3JhdGVzLnBhdG5ldC5jYWx0ZWNoLmVk +dT4KIyBNZXNzYWdlLUlkOiA8MzNFRjE2MzQuQjM2QjY1MDBAcG9ib3guY29tPgojCiMgVGhlIERS +MiBvZiBNa0xpbnV4IChvc25hbWU9bGludXgsYXJjaG5hbWU9cHBjLWxpbnV4KSBtYXkgbmVlZAoj +IHNwZWNpYWwgZmxhZ3MgcGFzc2VkIGluIG9yZGVyIGZvciBkeW5hbWljIGxvYWRpbmcgdG8gd29y +ay4KIyBpbnN0ZWFkIG9mIHRoZSByZWNvbW1lbmRlZDoKIwojIGNjZGxmbGFncz0nLXJkeW5hbWlj +JwojCiMgaXQgc2hvdWxkIGJlOgojIGNjZGxmbGFncz0nLVdsLC1FJwojCiMgU28gaWYgeW91ciBE +UjIgKERSMyBjYW1lIG91dCBzdW1tZXIgMTk5OCwgY29uc2lkZXIgdXBncmFkaW5nKQojIGhhcyBw +cm9ibGVtcyB3aXRoIGR5bmFtaWMgbG9hZGluZywgdW5jb21tZW50IHRoZQojIGZvbGxvd2luZyB0 +aHJlZSBsaW5lcywgbWFrZSBkaXN0Y2xlYW4sIGFuZCByZS1Db25maWd1cmU6CiNjYXNlICJgdW5h +bWUgLXIgfCBzZWQgJ3MvXlswLTkuLV0qLy8nYGBhcmNoYCIgaW4KIydvc2ZtYWNoM3BwYycpIGNj +ZGxmbGFncz0nLVdsLC1FJyA7OwojZXNhYwoKY2FzZSAiJHVuYW1lX21pbnVzX20iIGluCnNwYXJj +KikKCWNhc2UgIiRjY2NkbGZsYWdzIiBpbgoJKi1mcGljKikgY2NjZGxmbGFncz0iYGVjaG8gJGNj +Y2RsZmxhZ3N8c2VkICdzLy1mcGljLy1mUElDLydgIiA7OwoJKi1mUElDKikgOzsKCSopCSBjY2Nk +bGZsYWdzPSIkY2NjZGxmbGFncyAtZlBJQyIgOzsKCWVzYWMKCTs7CmVzYWMKCiMgU3VTRTguMiBo +YXMgL3Vzci9saWIvbGlibmRibSogd2hpY2ggYXJlIGxkIHNjcmlwdHMgcmF0aGVyIHRoYW4KIyB0 +cnVlIGxpYnJhcmllcy4gVGhlIHNjcmlwdHMgY2F1c2UgYmluZGluZyBhZ2FpbnN0IHN0YXRpYwoj +IHZlcnNpb24gb2YgLWxnZGJtIHdoaWNoIGlzIGEgYmFkIGlkZWEuIFNvIGlmIHdlIGhhdmUgJ25t +JwojIG1ha2Ugc3VyZSBpdCBjYW4gcmVhZCB0aGUgZmlsZQojIE5JLVMgMjAwMy8wOC8wNwpjYXNl +ICIkbm0iIGluCiAgICAnJykgOzsKICAgICopCiAgICBmb3IgcCBpbiAkcGxpYnB0aAogICAgZG8K +ICAgICAgICBpZiAkdGVzdCAtciAkcC9saWJuZGJtLnNvOyB0aGVuCiAgICAgICAgICAgIGlmICRu +bSAkcC9saWJuZGJtLnNvID4vZGV2L251bGwgMj4mMSA7IHRoZW4KICAgICAgICAgICAgICAgIGVj +aG8gJ1lvdXIgc2hhcmVkIC1sbmRibSBzZWVtcyB0byBiZSBhIHJlYWwgbGlicmFyeS4nCiAgICAg +ICAgICAgICAgICBfbGlibmRibV9yZWFsPTEKICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAg +ICAgIGZpCiAgICAgICAgZmkKICAgIGRvbmUKICAgIGlmICR0ZXN0ICJYJF9saWJuZGJtX3JlYWwi +ID0gWDsgdGhlbgogICAgICAgIGVjaG8gJ1lvdXIgc2hhcmVkIC1sbmRibSBpcyBub3QgYSByZWFs +IGxpYnJhcnkuJwogICAgICAgIHNldCBgZWNobyBYICIkbGlic3dhbnRlZCAifCBzZWQgLWUgJ3Mv +IG5kYm0gLyAvJ2AKICAgICAgICBzaGlmdAogICAgICAgIGxpYnN3YW50ZWQ9IiQqIgogICAgZmkK +ICAgIDs7CmVzYWMKCiMgTGludXggb24gU3lub2xvZ3kuCmlmIFsgLWYgL2V0Yy9zeW5vaW5mby5j +b25mIC1hIC1kIC91c3Ivc3lubyBdOyB0aGVuCiAgICAjIFRlc3RlZCBvbiBTeW5vbG9neSBEUzIx +MyBhbmQgRFM0MTMKICAgICMgIE9TIHZlcnNpb24gaW5mbyBpbiAvZXRjLmRlZmF1bHRzL1ZFUlNJ +T04KICAgICMgIGh0dHA6Ly9mb3J1bS5zeW5vbG9neS5jb20vd2lraS9pbmRleC5waHAvV2hhdF9r +aW5kX29mX0NQVV9kb2VzX215X05BU19oYXZlCiAgICAjIFN5bm9sb2d5IERTMjEzIHJ1bm5pbmcg +RFNNIDQuMy0zODEwLTAgKDIwMTMtMTEtMDYpCiAgICAjICBDUFUgbW9kZWwgTWFydmVsbCBLaXJr +d29vZCBtdjYyODIgQVJNdjV0ZQogICAgIyAgTGludXggMi42LjMyLjEyICMzODEwIFdlZCBOb3Yg +NiAwNToxMzo0MSBDU1QgMjAxMyBhcm12NXRlbCBHTlUvTGludXgKICAgICMgU3lub2xvZ3kgRFM0 +MTMgcnVubmluZyBEU00gNC4zLTM4MTAtMCAoMjAxMy0xMS0wNikKICAgICMgIENQVSBtb2RlbCBG +cmVlc2NhbGUgUW9ySVEgUDEwMjIgcHBjIChlNTAwdjIpCiAgICAjICBsaW51eCAyLjYuMzIuMTIg +IzM4MTAgcHBjIEdOVS9MaW51eAogICAgIyBBbGwgZGV2ZWxvcG1lbnQgc3R1ZmYgaW5zdGFsbGVk +IHdpdGggaXBrZyBpcyBpbiAvb3B0CiAgICBpZiBbICIkTEFORyIgPSAiIiAtbyAiJExBTkciID0g +IkMiIF07IHRoZW4KCWVjaG8gJ1lvdXIgTEFORyBpcyBzYWZlJwogICAgZWxzZQoJZWNobyAnUGxl +YXNlIHNldCAkTEFORyB0byAiQyIuIEFsbCBvdGhlciAkTEFORyBzZXR0aW5ncyB3aWxsIGNhdXNl +IGhhdm9jJyA+JjQKCUxBTkc9QwogICAgZmkKICAgIGVjaG8gJ1NldHRpbmcgdXAgdG8gdXNlIC9v +cHQvKicgPiY0CiAgICBsb2NpbmNwdGg9Ii9vcHQvaW5jbHVkZSAkbG9jaW5jcHRoIgogICAgbGli +cHRoPSIvb3B0L2xpYiAkbGlicHRoIgogICAgbGlic3B0aD0iL29wdC9saWIgJGxpYnNwdGgiCiAg +ICBsb2NsaWJwdGg9Ii9vcHQvbGliICRsb2NsaWJwdGgiCiAgICAjIFBPU0lYIHdpbGwgbm90IGxp +bmsgd2l0aG91dCB0aGUgcHRocmVhZCBsaWIKICAgIGxpYnN3YW50ZWQ9IiRsaWJzd2FudGVkIHB0 +aHJlYWQiCiAgICBlY2hvICIkbGlic3dhbnRlZCIgPiY0CmZpCgojIFRoaXMgc2NyaXB0IFVVL3Vz +ZXRocmVhZHMuY2J1IHdpbGwgZ2V0ICdjYWxsZWQtYmFjaycgYnkgQ29uZmlndXJlCiMgYWZ0ZXIg +aXQgaGFzIHByb21wdGVkIHRoZSB1c2VyIGZvciB3aGV0aGVyIHRvIHVzZSB0aHJlYWRzLgpjYXQg +PiBVVS91c2V0aHJlYWRzLmNidSA8PCdFT0NCVScKY2FzZSAiJHVzZXRocmVhZHMiIGluCiRkZWZp +bmV8dHJ1ZXxbeVldKikKICAgICAgICBjY2ZsYWdzPSItRF9SRUVOVFJBTlQgLURfR05VX1NPVVJD +RSAkY2NmbGFncyIKICAgICAgICBpZiBlY2hvICRsaWJzd2FudGVkIHwgZ3JlcCAtdiBwdGhyZWFk +ID4vZGV2L251bGwKICAgICAgICB0aGVuCiAgICAgICAgICAgIHNldCBgZWNobyBYICIkbGlic3dh +bnRlZCAifCBzZWQgLWUgJ3MvIGMgLyBwdGhyZWFkIGMgLydgCiAgICAgICAgICAgIHNoaWZ0CiAg +ICAgICAgICAgIGxpYnN3YW50ZWQ9IiQqIgogICAgICAgIGZpCgoJIyBTb21laG93IGF0IGxlYXN0 +IGluIERlYmlhbiAyLjIgdGhlc2UgbWFuYWdlIHRvIGVzY2FwZQoJIyB0aGUgI2RlZmluZSBmb3Jl +c3Qgb2YgPGZlYXR1cmVzLmg+IGFuZCA8dGltZS5oPiBzbyB0aGF0CgkjIHRoZSBoYXNwcm90byBt +YWNybyBvZiBDb25maWd1cmUgZG9lc24ndCBzZWUgdGhlc2UgcHJvdG9zLAoJIyBldmVuIHdpdGgg +dGhlIC1EX0dOVV9TT1VSQ0UuCgoJZF9hc2N0aW1lX3JfcHJvdG89IiRkZWZpbmUiCglkX2NyeXB0 +X3JfcHJvdG89IiRkZWZpbmUiCglkX2N0aW1lX3JfcHJvdG89IiRkZWZpbmUiCglkX2dtdGltZV9y +X3Byb3RvPSIkZGVmaW5lIgoJZF9sb2NhbHRpbWVfcl9wcm90bz0iJGRlZmluZSIKCWRfcmFuZG9t +X3JfcHJvdG89IiRkZWZpbmUiCgoJOzsKZXNhYwpFT0NCVQoKY2F0ID4gVVUvdXNlbGFyZ2VmaWxl +cy5jYnUgPDwnRU9DQlUnCiMgVGhpcyBzY3JpcHQgVVUvdXNlbGFyZ2VmaWxlcy5jYnUgd2lsbCBn +ZXQgJ2NhbGxlZC1iYWNrJyBieSBDb25maWd1cmUKIyBhZnRlciBpdCBoYXMgcHJvbXB0ZWQgdGhl +IHVzZXIgZm9yIHdoZXRoZXIgdG8gdXNlIGxhcmdlIGZpbGVzLgpjYXNlICIkdXNlbGFyZ2VmaWxl +cyIgaW4KJyd8JGRlZmluZXx0cnVlfFt5WV0qKQojIEtlZXAgdGhpcyBpbiB0aGUgbGVmdCBtYXJn +aW4uCmNjZmxhZ3NfdXNlbGFyZ2VmaWxlcz0iLURfTEFSR0VGSUxFX1NPVVJDRSAtRF9GSUxFX09G +RlNFVF9CSVRTPTY0IgoKCWNjZmxhZ3M9IiRjY2ZsYWdzICRjY2ZsYWdzX3VzZWxhcmdlZmlsZXMi +Cgk7Owplc2FjCkVPQ0JVCgojIFB1cmlmeSBmYWlscyB0byBsaW5rIFBlcmwgaWYgYSAiLWxjIiBp +cyBwYXNzZWQgaW50byBpdHMgbGlua2VyCiMgZHVlIHRvIGR1cGxpY2F0ZSBzeW1ib2xzLgpjYXNl +ICIkUFVSSUZZIiBpbgokZGVmaW5lfHRydWV8W3lZXSopCiAgICBzZXQgYGVjaG8gWCAiJGxpYnN3 +YW50ZWQgInwgc2VkIC1lICdzLyBjIC8gLydgCiAgICBzaGlmdAogICAgbGlic3dhbnRlZD0iJCoi +CiAgICA7Owplc2FjCgojIElmIHVzaW5nIGcrKywgdGhlIENvbmZpZ3VyZSBzY2FuIGZvciBkbG9w +ZW4oKSBhbmQgKGVzcGVjaWFsbHkpCiMgZGxlcnJvcigpIG1pZ2h0IGZhaWwsIGVhc2llciBqdXN0 +IHRvIGZvcmNpYmx5IGhpbnQgdGhlbSBpbi4KY2FzZSAiJGNjIiBpbgoqZysrKikKICBkX2Rsb3Bl +bj0nZGVmaW5lJwogIGRfZGxlcnJvcj0nZGVmaW5lJwogIDs7CmVzYWMKCiMgVW5kZXIgc29tZSBj +aXJjdW1zdGFuY2VzIGxpYmRiIGNhbiBnZXQgYnVpbHQgaW4gc3VjaCBhIHdheSBhcyB0bwojIG5l +ZWQgcHRocmVhZCBleHBsaWNpdGx5IGxpbmtlZC4KCmxpYmRiX25lZWRzX3B0aHJlYWQ9Ik4iCgpp +ZiBlY2hvICIgJGxpYnN3YW50ZWQgIiB8IGdyZXAgLXYgIiBwdGhyZWFkICIgPi9kZXYvbnVsbAp0 +aGVuCiAgIGlmIGVjaG8gIiAkbGlic3dhbnRlZCAiIHwgZ3JlcCAiIGRiICIgPi9kZXYvbnVsbAog +ICB0aGVuCiAgICAgZm9yIERCRElSIGluICRnbGlicHRoCiAgICAgZG8KICAgICAgIERCTElCPSIk +REJESVIvbGliZGIuc28iCiAgICAgICBpZiBbIC1mICREQkxJQiBdCiAgICAgICB0aGVuCiAgICAg +ICAgIGlmICR7bm06LW5tfSAtdSAkREJMSUIgMj4vZGV2L251bGwgfCBncmVwIHB0aHJlYWQgPi9k +ZXYvbnVsbAogICAgICAgICB0aGVuCiAgICAgICAgICAgaWYgbGRkICREQkxJQiB8IGdyZXAgcHRo +cmVhZCA+L2Rldi9udWxsCiAgICAgICAgICAgdGhlbgogICAgICAgICAgICAgbGliZGJfbmVlZHNf +cHRocmVhZD0iTiIKICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICBsaWJkYl9uZWVkc19wdGhy +ZWFkPSJZIgogICAgICAgICAgIGZpCiAgICAgICAgIGZpCiAgICAgICBmaQogICAgIGRvbmUKICAg +ZmkKZmkKCmNhc2UgIiRsaWJkYl9uZWVkc19wdGhyZWFkIiBpbgogICJZIikKICAgIGxpYnN3YW50 +ZWQ9IiRsaWJzd2FudGVkIHB0aHJlYWQiCiAgICA7Owplc2FjCg==', 'midnightbsd' => 'dXNldmZvcms9J3RydWUnCmNhc2UgIiR1c2VteW1hbGxvYyIgaW4KICAgICIiKSB1c2VteW1hbGxv Yz0nbicKICAgICAgICA7Owplc2FjCmxpYnN3YW50ZWQ9YGVjaG8gJGxpYnN3YW50ZWQgfCBzZWQg @@ -2028,7 +1984,7 @@ =head1 VERSION -version 1.44 +version 1.46 =head1 SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-PatchPerl-1.44/lib/Devel/PatchPerl/Plugin.pm new/Devel-PatchPerl-1.46/lib/Devel/PatchPerl/Plugin.pm --- old/Devel-PatchPerl-1.44/lib/Devel/PatchPerl/Plugin.pm 2016-08-18 13:39:30.000000000 +0200 +++ new/Devel-PatchPerl-1.46/lib/Devel/PatchPerl/Plugin.pm 2016-11-21 12:03:22.000000000 +0100 @@ -1,5 +1,5 @@ package Devel::PatchPerl::Plugin; -$Devel::PatchPerl::Plugin::VERSION = '1.44'; +$Devel::PatchPerl::Plugin::VERSION = '1.46'; #ABSTRACT: Devel::PatchPerl plugins explained use strict; @@ -19,7 +19,7 @@ =head1 VERSION -version 1.44 +version 1.46 =head1 DESCRIPTION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-PatchPerl-1.44/lib/Devel/PatchPerl.pm new/Devel-PatchPerl-1.46/lib/Devel/PatchPerl.pm --- old/Devel-PatchPerl-1.44/lib/Devel/PatchPerl.pm 2016-08-18 13:39:30.000000000 +0200 +++ new/Devel-PatchPerl-1.46/lib/Devel/PatchPerl.pm 2016-11-21 12:03:22.000000000 +0100 @@ -1,5 +1,5 @@ package Devel::PatchPerl; -$Devel::PatchPerl::VERSION = '1.44'; +$Devel::PatchPerl::VERSION = '1.46'; # ABSTRACT: Patch perl source a la Devel::PPPort's buildperl.pl use strict; @@ -6047,7 +6047,7 @@ =head1 VERSION -version 1.44 +version 1.46 =head1 SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-PatchPerl-1.44/t/author-pod-coverage.t new/Devel-PatchPerl-1.46/t/author-pod-coverage.t --- old/Devel-PatchPerl-1.44/t/author-pod-coverage.t 2016-08-18 13:39:30.000000000 +0200 +++ new/Devel-PatchPerl-1.46/t/author-pod-coverage.t 2016-11-21 12:03:22.000000000 +0100 @@ -2,7 +2,7 @@ BEGIN { unless ($ENV{AUTHOR_TESTING}) { - print "1..0 # SKIP these tests are for testing by the author\n"; + print qq{1..0 # SKIP these tests are for testing by the author\n}; exit } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-PatchPerl-1.44/t/author-pod-syntax.t new/Devel-PatchPerl-1.46/t/author-pod-syntax.t --- old/Devel-PatchPerl-1.44/t/author-pod-syntax.t 2016-08-18 13:39:30.000000000 +0200 +++ new/Devel-PatchPerl-1.46/t/author-pod-syntax.t 2016-11-21 12:03:22.000000000 +0100 @@ -2,7 +2,7 @@ BEGIN { unless ($ENV{AUTHOR_TESTING}) { - print "1..0 # SKIP these tests are for testing by the author\n"; + print qq{1..0 # SKIP these tests are for testing by the author\n}; exit } }