Re: [Fwd: GLPK CMake build configuration (Windows)]

Derek Huang <[email protected]> Thu, 1 Feb 2024 18:01:44 -0500
Newsgroups gmane.comp.gnu.glpk
Message-ID <CAG1Nrm7YqjacGgUJRGz2RBeqdBw-9B4h8=BtVUzdqK1tfiW9Yw@mail.gmail.com>
--0000000000006be7ed061059fb86
Content-Type: multipart/alternative; boundary="0000000000006be7ec061059fb84"

--0000000000006be7ec061059fb84
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi,

Just wanted to put an update for the CMakeLists.txt since I forgot to CC to
the mailing list, apologies.

Also, since I forgot to CC my previous email about this, maybe we just
remove glp_netgen_prob from netgen.c and glpk.h since it is not called and
causes linker error when building DLL on Windows since glp_netgen_prob is
listed in the .def file?

I saw the other possible change as mentioned in
https://www.mail-archive.com/[email protected]/msg01020.html; maybe that
could be done officially?

Best,
Derek

On Mon, Jan 29, 2024 at 3:43=E2=80=AFPM Derek Huang <[email protected]> =
wrote:

> I see, thank you.
>
>
>
> So maybe we can just add these netgen.c changes to the upstream? Since it
> is definitely a bit strange to have only a public API function declaratio=
n
> without a definition.
>
>
>
> Best,
>
> Derek
>

--0000000000006be7ec061059fb84
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi,<div><br></div><div>Just wanted to put an update for th=
e CMakeLists.txt since I forgot to CC to the mailing list, apologies.</div>=
<div><br></div><div>Also, since I forgot to CC my previous email about this=
, maybe we just remove glp_netgen_prob from netgen.c and glpk.h since it is=
 not called and causes linker error when building DLL on Windows since glp_=
netgen_prob is listed in the .def file?</div><div><br></div><div>I saw the =
other possible change as mentioned in=C2=A0<a href=3D"https://www.mail-arch=
ive.com/[email protected]/msg01020.html">https://www.mail-archive.com/bug-gl=
[email protected]/msg01020.html</a>; maybe that could be done officially?</div><di=
v><br></div><div>Best,</div><div>Derek</div></div><br><div class=3D"gmail_q=
uote"><div dir=3D"ltr" class=3D"gmail_attr">On Mon, Jan 29, 2024 at 3:43=E2=
=80=AFPM Derek Huang &lt;<a href=3D"mailto:[email protected]">djh458@ste=
rn.nyu.edu</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=
=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding=
-left:1ex"><div class=3D"msg481975590232959651"><div lang=3D"EN-US" style=
=3D"overflow-wrap: break-word;"><div class=3D"m_481975590232959651WordSecti=
on1"><p class=3D"MsoNormal">I see, thank you.</p><p class=3D"MsoNormal"><u>=
</u>=C2=A0<u></u></p><p class=3D"MsoNormal">So maybe we can just add these =
netgen.c changes to the upstream? Since it is definitely a bit strange to h=
ave only a public API function declaration without a definition.</p><p clas=
s=3D"MsoNormal"><u></u>=C2=A0<u></u></p><p class=3D"MsoNormal">Best,</p><p =
class=3D"MsoNormal">Derek</p></div></div>
</div></blockquote></div>

--0000000000006be7ec061059fb84--

--0000000000006be7ed061059fb86
Content-Type: text/plain; charset="US-ASCII"; name="CMakeLists.txt"
Content-Disposition: attachment; filename="CMakeLists.txt"
Content-Transfer-Encoding: base64
Content-ID: <f_ls3thgob0>
X-Attachment-Id: f_ls3thgob0

Y21ha2VfbWluaW11bV9yZXF1aXJlZChWRVJTSU9OIDMuMTUpCgojIwojIFVzYWdlCiMgPT09PT0K
IwojIFRoaXMgc2VjdGlvbiBwcm92aWRlcyBzb21lIGJyaWVmIGluc3RydWN0aW9ucyBvbiBob3cg
dG8gY29tcGlsZSwgdGVzdCwgYW5kCiMgaW5zdGFsbCBHTFBLIHVzaW5nIENNYWtlLiBBbHRob3Vn
aCBjdXJyZW50bHkgY29uZmlndXJlZCBvbmx5IGZvciB1c2Ugb24KIyBXaW5kb3dzLCB0aGUgY29u
ZmlnIGNhbiBiZSBleHRlbmRlZCB0byBzdXBwb3J0ICpuaXggc3lzdGVtcyBhcyB3ZWxsLgojCiMg
Tm90ZToKIwojIFRoaXMgZmlsZSBjYW4gYmUgc3BsaXQgdXAgaW50byBzbWFsbGVyIC5jbWFrZSBm
aWxlcyBpZiBkZXNpcmVkLiBJdCBpcyBhIGZldwojIGh1bmRyZWQgbGluZXMgbG9uZyB1bmZvcnR1
bmF0ZWx5IGluIGxhcmdlIHBhcnQgc2luY2UgdGhlIHNvdXJjZXMgYXJlIGFsbAojIGxpc3RlZCBl
eHBsaWNpdGx5IGluc3RlYWQgb2YgdXNpbmcgZ2xvYnMgYW5kIGJlY2F1c2Ugb2YgdGhlIGluc3Rh
bGwgbG9naWMuCiMKIyBXaW5kb3dzCiMgLS0tLS0tLQojCiMgVGhlIGZvbGxvd2luZyBpdGVtcyBh
cmUgdmFsdWVzIHRvIGJlIGRldGVybWluZWQgYnkgdGhlIHVzZXIuIFRoZXkgYXJlIHVzZWQgaW4K
IyB0aGUgYnVpbGQgY29tbWFuZHMgZW5jbG9zZWQgaW4gYnJhY2tldHMgdG8gZGlzdGluZ3Vpc2gg
dGhlbS4KIwojIEFyY2g6IFdpbjMyLCB4NjQKIyBDb25maWc6IERlYnVnLCBSZWxlYXNlCiMgUHJl
Zml4OiAoZGVzaXJlZCBpbnN0YWxsIHJvb3QpCiMKIyBCdWlsZGluZwojIH5+fn5+fn5+CiMKIyBO
b3RlOgojCiMgQnVpbGRpbmcgZHluYW1pY2FsbHksIGkuZS4gd2l0aCAtREJVSUxEX1NIQVJFRF9M
SUJTPU9OLCB3aWxsIHJlc3VsdCBpbiBhCiMgbGlua2VyIGVycm9yIGFib3V0IGFuIHVucmVzb2x2
ZWQgZXh0ZXJuYWwgc3ltYm9sIChnbHBfbmV0Z2VuX3Byb2IpLiBUaGUKIyBkZWZpbml0aW9uIG9m
IHRoaXMgZnVuY3Rpb24gaXMgbm93aGVyZSB0byBiZSBmb3VuZCBpbiB0aGUgR0xQSyBzb3VyY2Uu
IFRvIGZpeAojIHRoaXMsIGdscF9uZXRnZW5fcHJvYiBuZWVkcyB0byBiZSByZW1vdmVkIGZyb20g
dGhlIC5kZWYgZmlsZS4gSXQgaXMgYWxzbwojIGJldHRlciB0aGF0IGdscF9uZXRnZW5fcHJvYiBp
cyBzaW1wbHkgY29tbWVudGVkIG91dCBmcm9tIGdscGsuaCB0b28uCiMKIyBCdWlsZCBzdGF0aWMg
bGlua2luZyBhZ2FpbnN0IEMgcnVudGltZSBkeW5hbWljYWxseSArIGFsc28gYnVpbGQgZXhhbXBs
ZXM6CiMKIyAgIGNtYWtlIC1TIC4gLUIgYnVpbGRfd2luZG93c19bQXJjaF0gLUEgW0FyY2hdCiMg
ICBjbWFrZSAtLWJ1aWxkIGJ1aWxkX3dpbmRvd3NfW0FyY2hdIC0tY29uZmlnIFtDb25maWddIC1q
CiMKIyBCdWlsZCBkeW5hbWljIGxpbmtpbmcgYWdhaW5zdCBDIHJ1bnRpbWUgc3RhdGljYWxseSAr
IG5vIGV4YW1wbGVzOgojCiMgICBjbWFrZSAtUyAuIC1CIGJ1aWxkX3dpbmRvd3NfW0FyY2hdIC1B
IFtBcmNoXSAtREJVSUxEX1NIQVJFRF9MSUJTPU9OIF4KIyAgICAgICAtREdMUEtfVVNFX1NUQVRJ
Q19DUlQ9T04gLURHTFBLX0JVSUxEX0VYQU1QTEVTPU9GRgojICAgY21ha2UgLS1idWlsZCBidWls
ZF93aW5kb3dzX1tBcmNoXSAtLWNvbmZpZyBbQ29uZmlnXSAtagojCiMgQnVpbGQgZHluYW1pYyBs
aW5raW5nIGFnYWluc3QgQyBydW50aW1lIGR5bmFtaWNhbGx5ICsgYWxzbyBidWlsZCBleGFtcGxl
cwojIHdoaWxlIGluc3RhbGxpbmcgd2l0aCBtdWx0aS1jb25maWd1cmF0aW9uIGluc3RhbGwgdHJl
ZToKIwojICAgY21ha2UgLVMgLiAtQiBidWlsZF93aW5kb3dzX1tBcmNoXSAtQSBbQXJjaF0gLURC
VUlMRF9TSEFSRURfTElCUz1PTiBeCiMgICAgICAgLURHTFBLX0lOU1RBTExfTVVMVElfQ09ORklH
PU9OCiMgICBjbWFrZSAtLWJ1aWxkIGJ1aWxkX3dpbmRvd3NfW0FyY2hdIC0tY29uZmlnIFtDb25m
aWddIC1qCiMKIyBUZXN0aW5nCiMgfn5+fn5+fgojCiMgTm90ZToKIwojIFRlc3RpbmcgYSBkeW5h
bWljIGJ1aWxkJ3MgZXhhbXBsZSBwcm9ncmFtcyB3aWxsIHJlc3VsdCBpbiBhbiBleGl0IGNvZGUg
b2YKIyBDMDAwMDEzNSBzaW5jZSBQQVRIIG11c3QgYmUgdXBkYXRlZCBvciB0aGUgRExMIG11c3Qg
YmUgaW4gdGhlIHdvcmtpbmcKIyBkaXJlY3RvcnkgZm9yIGNvcnJlY3QgcnVuLXRpbWUgbG9hZGlu
Zy4gVGhlIGV4YW1wbGUgcHJvZ3JhbXMgYXNzdW1lIHRoZWlyCiMgaW5wdXRzIGFyZSBpbiB0aGUg
Y3VycmVudCBkaXJlY3Rvcnkgd2hpY2ggbWFrZXMgdGhpcyBkaWZmaWN1bHQuCiMKIyAgIGN0ZXN0
IC0tdGVzdC1kaXIgYnVpbGRfd2luZG93c19bQXJjaF0gLUMgW0NvbmZpZ10gLWoKIwojIEluc3Rh
bGwKIyB+fn5+fn5+CiMKIyAgIGNtYWtlIC0taW5zdGFsbCBidWlsZF93aW5kb3dzX1tBcmNoXSAt
LXByZWZpeCBbUHJlZml4XSAtLWNvbmZpZyBbQ29uZmlnXQojCiMgSWYgR0xQS19JTlNUQUxMX01V
TFRJX0NPTkZJRyBpcyBzcGVjaWZpZWQsIGFuZCBhc3N1bWluZyB0aGF0IHdlIGFyZSBidWlsZGlu
ZwojIHNoYXJlZCBsaWJyYXJpZXMsIHRoZSBpbnN0YWxsIHRyZWUgbG9va3MgbGlrZSB0aGlzOgoj
CiMgaW5zdGFsbF9yb290LwojICAgYmluLwojICAgICBEZWJ1Zy8KIyAgICAgICBnbHBrLmRsbAoj
ICAgICAgIGdscHNvbC5leGUKIyAgICAgUmVsZWFzZS8KIyAgICAgICBnbHBrLmRsbAojICAgICAg
IGdscHNvbC5leGUKIyAgIGluY2x1ZGUvCiMgICAgIGdscGsuaAojICAgbGliLwojICAgICBEZWJ1
Zy8KIyAgICAgICBnbHBrLmxpYgojICAgICAgIGdscGsucGRiCiMgICAgIFJlbGVhc2UvCiMgICAg
ICAgZ2xway5saWIKIwojIE90aGVyd2lzZSwgd2UgaGF2ZSBhIGZsYXQgaW5zdGFsbCB3aXRoICJk
IiBzdWZmaWNlcywgZS5nLgojCiMgaW5zdGFsbF9yb290LwojICAgYmluLwojICAgICBnbHBrLmRs
bAojICAgICBnbHBrZC5kbGwKIyAgICAgZ2xwc29sLmV4ZQojICAgICBnbHBzb2xkLmV4ZQojICAg
aW5jbHVkZS8KIyAgICAgZ2xway5oCiMgICBsaWIvCiMgICAgIGdscGsubGliCiMgICAgIGdscGtk
LmxpYgojICAgICBnbHBrZC5wZGIKIwoKIyBHTFBLIHZlcnNpb24Kc2V0KEdMUEtfVkVSU0lPTl9N
QUpPUiA1KQpzZXQoR0xQS19WRVJTSU9OX01JTk9SIDApCnNldChHTFBLX1ZFUlNJT04gJHtHTFBL
X1ZFUlNJT05fTUFKT1J9LiR7R0xQS19WRVJTSU9OX01JTk9SfSkKCnByb2plY3QoCiAgICBnbHBr
CiAgICBWRVJTSU9OICR7R0xQS19WRVJTSU9OfQogICAgREVTQ1JJUFRJT04gIkdOVSBMaW5lYXIg
UHJvZ3JhbW1pbmcgS2l0IgogICAgSE9NRVBBR0VfVVJMICJodHRwczovL3d3dy5nbnUub3JnL3Nv
ZnR3YXJlL2dscGsvIgogICAgTEFOR1VBR0VTIEMKKQoKIyBzZWxlY3Qgc3RhdGljL3NoYXJlZCBs
aWJyYXJ5IGNvbXBpbGF0aW9uCm9wdGlvbihCVUlMRF9TSEFSRURfTElCUyAiQnVpbGQgR0xQSyBs
aWJyYXJ5IGFzIHNoYXJlZCIgT0ZGKQojIHVzZSBzdGF0aWMgQyBydW50aW1lIGxpYnJhcnkuIGRl
ZmF1bHRlZCB0byBPRkYgdG8gbWF0Y2ggdGhlIENNYWtlIGRlZmF1bHQgb2YKIyB1c2luZyBNdWx0
aVRocmVhZGVkJDwkPENPTkZJRzpEZWJ1Zz46RGVidWc+RExMIHRvIHNlbGVjdCBkeW5hbWljIEMg
cnVudGltZS4KIyBzZWUgaHR0cHM6Ly9jbWFrZS5vcmcvY21ha2UvaGVscC9sYXRlc3QvcHJvcF90
Z3QvTVNWQ19SVU5USU1FX0xJQlJBUlkuaHRtbCwKIyBodHRwczovL2xlYXJuLm1pY3Jvc29mdC5j
b20vZW4tdXMvY3BwL2MtcnVudGltZS1saWJyYXJ5L2NydC1saWJyYXJ5LWZlYXR1cmVzCm9wdGlv
bihHTFBLX1VTRV9TVEFUSUNfQ1JUICJMaW5rIGFnYWluc3QgQyBydW50aW1lIHN0YXRpY2FsbHki
IE9GRikKIyB0byBzZXBhcmF0ZSBEZWJ1ZyBhbmQgUmVsZWFzZSBsaWJyYXJpZXMsIHdoaWNoIGFs
c28gbGluayBhZ2FpbnN0IGRlYnVnIGFuZAojIHJlbGVhc2UgQyBydW50aW1lcyByZXNwZWN0aXZl
bHkgKHNob3VsZCBuZXZlciBiZSBtaXhlZCksIGFkZCBhbiBleHRyYSBsYXllcgojIG9mIG5hbWVz
cGFjaW5nIHRvIGxpYiBhbmQgYmluLCBlLmcuIGxpYi9EZWJ1ZywgYmluL1JlbGVhc2UsIGV0Yy4g
Zm9yIE1TVkMsIGlmCiMgdGhpcyBpcyBub3Qgc3BlY2lmaWVkLCBkZWJ1ZyBsaWJyYXJpZXMgKyBQ
REIgaXMgc3VmZml4ZWQgd2l0aCAiZCIKb3B0aW9uKEdMUEtfSU5TVEFMTF9NVUxUSV9DT05GSUcg
T0ZGKQojIGJ1aWxkIGV4YW1wbGUgcHJvZ3JhbXMKb3B0aW9uKEdMUEtfQlVJTERfRVhBTVBMRVMg
IkJ1aWxkIHRoZSBHTFBLIGV4YW1wbGUgcHJvZ3JhbXMiIE9OKQoKIyBvbmx5IGF2YWlsYWJsZSBm
b3IgV2luZG93cyBjdXJyZW50bHkKaWYoTk9UIFdJTjMyKQogICAgbWVzc2FnZShGQVRBTF9FUlJP
UiAiQ01ha2UgY29uZmlnIGlzIGN1cnJlbnRseSBvbmx5IHVzYWJsZSBmb3IgV2luZG93cyIpCmVu
ZGlmKCkKCiMgZW5hYmxlIHRlc3RpbmcgdmlhIGN0ZXN0CmluY2x1ZGUoQ1Rlc3QpCgojIGNoZWNr
IGlmIG11bHRpLWNvbmZpZyBvciBub3QKZ2V0X3Byb3BlcnR5KEdMUEtfQlVJTERfTVVMVElfQ09O
RklHIEdMT0JBTCBQUk9QRVJUWSBHRU5FUkFUT1JfSVNfTVVMVElfQ09ORklHKQppZihHTFBLX0JV
SUxEX01VTFRJX0NPTkZJRykKICAgIG1lc3NhZ2UoU1RBVFVTICJCdWlsZCBnZW5lcmF0b3I6IE11
bHRpLWNvbmZpZyIpCmVsc2UoKQogICAgbWVzc2FnZShTVEFUVVMgIkJ1aWxkIGdlbmVyYXRvcjog
U2luZ2xlLWNvbmZpZyIpCmVuZGlmKCkKCiMgc3RhdGljL3NoYXJlZCBsaWJyYXJ5IGJ1aWxkCmlm
KEJVSUxEX1NIQVJFRF9MSUJTKQogICAgbWVzc2FnZShTVEFUVVMgIkdMUEsgYnVpbGQ6IFNoYXJl
ZCIpCmVsc2UoKQogICAgbWVzc2FnZShTVEFUVVMgIkdMUEsgYnVpbGQ6IFN0YXRpYyIpCmVuZGlm
KCkKIyBsaW5rIHN0YXRpY2FsbHkgYWdhaW5zdCBDIHJ1bnRpbWUgbGlicmFyeSBpZiByZXF1ZXN0
ZWQKaWYoV0lOMzIpCiAgICBpZihHTFBLX1VTRV9TVEFUSUNfQ1JUKQogICAgICAgIHNldChDTUFL
RV9NU1ZDX1JVTlRJTUVfTElCUkFSWSAiTXVsdGlUaHJlYWRlZCQ8JDxDT05GSUc6RGVidWc+OkRl
YnVnPiIpCiAgICAgICAgbWVzc2FnZShTVEFUVVMgIlVDUlQgbGlua2FnZTogU3RhdGljIikKICAg
ICMgbGluayBkeW5hbWljYWxseS4gdGhpcyBpcyB0aGUgZGVmYXVsdCBidXQgd2Ugc2V0IHRoaXMg
ZXhwbGljaXRseQogICAgZWxzZSgpCiAgICAgICAgc2V0KENNQUtFX01TVkNfUlVOVElNRV9MSUJS
QVJZICJNdWx0aVRocmVhZGVkJDwkPENPTkZJRzpEZWJ1Zz46RGVidWc+RExMIikKICAgICAgICBt
ZXNzYWdlKFNUQVRVUyAiVUNSVCBsaW5rYWdlOiBTaGFyZWQiKQogICAgZW5kaWYoKQplbmRpZigp
CiMgbXVsdGktY29uZmlnIGluc3RhbGxhdGlvbiAob25seSBmb3IgV2luZG93cykKaWYoV0lOMzIg
QU5EIEdMUEtfSU5TVEFMTF9NVUxUSV9DT05GSUcpCiAgICBtZXNzYWdlKFNUQVRVUyAiSW5zdGFs
bGF0aW9uOiBNdWx0aSIpCmVsc2UoKQogICAgbWVzc2FnZShTVEFUVVMgIkluc3RhbGxhdGlvbjog
RmxhdCIpCmVuZGlmKCkKIyBleGFtcGxlIHByb2dyYW1zCmlmKEdMUEtfQlVJTERfRVhBTVBMRVMp
CiAgICBtZXNzYWdlKFNUQVRVUyAiQnVpbGQgZXhhbXBsZXM6IE5vIikKZWxzZSgpCiAgICBtZXNz
YWdlKFNUQVRVUyAiQnVpbGQgZXhhbXBsZXM6IFllcyIpCmVuZGlmKCkKCiMgZXhhbXBsZXMgZGly
ZWN0b3J5IGFic29sdXRlIHBhdGgKc2V0KEdMUEtfRVhBTVBMRVNfRElSICR7Q01BS0VfQ1VSUkVO
VF9TT1VSQ0VfRElSfS9leGFtcGxlcykKCiMgY2hlY2sgaWYgZ2VuZXJhdGluZyAzMi0gb3IgNjQt
Yml0IGNvZGUKaWYoQ01BS0VfU0laRU9GX1ZPSURfUCBFUVVBTCA4KQogICAgc2V0KEdMUEtfVEFS
R0VUXzY0IE9OKQogICAgc2V0KEdMUEtfVEFSR0VUXzMyIE9GRikKICAgIHNldChHTFBLX1dJTkRP
V1NfU1VCRElSIHc2NCkKICAgIG1lc3NhZ2UoU1RBVFVTICJBcmNoaXRlY3R1cmU6IDY0LWJpdCIp
CmVsc2VpZihDTUFLRV9TSVpFT0ZfVk9JRF9QIEVRVUFMIDQpCiAgICBzZXQoR0xQS19UQVJHRVRf
NjQgT0ZGKQogICAgc2V0KEdMUEtfVEFSR0VUXzMyIE9OKQogICAgc2V0KEdMUEtfV0lORE9XU19T
VUJESVIgdzMyKQogICAgbWVzc2FnZShTVEFUVVMgIkFyY2hpdGVjdHVyZTogMzItYml0IikKZWxz
ZSgpCiAgICBtZXNzYWdlKEZBVEFMX0VSUk9SICJJbmNvbXBhdGlibGUgcG9pbnRlciBzaXplLCBt
dXN0IGJlIDggb3IgNCBieXRlcyIpCmVuZGlmKCkKCiMgY29tcGlsZSBmbGFncwppZihNU1ZDKQog
ICAgIyBUT0RPOiBpbmNyZWFzZSB3YXJuaW5nIGxldmVsIGxhdGVyPyBlLmcuIC9XNCwgL1dhbGwK
ICAgIGFkZF9jb21waWxlX2RlZmluaXRpb25zKEhBVkVfQ09ORklHX0ggX0NSVF9TRUNVUkVfTk9f
V0FSTklOR1MpCiAgICBhZGRfY29tcGlsZV9vcHRpb25zKC9XMykKZWxzZSgpCiAgICAjIFRPRE86
IGZpbGwgaW4gZm9yICpuaXgKZW5kaWYoKQoKIyBpbmNsdWRlIGRpcmVjdG9yaWVzCmluY2x1ZGVf
ZGlyZWN0b3JpZXMoCiAgICBzcmMKICAgIHNyYy9hbWQKICAgIHNyYy9hcGkKICAgIHNyYy9iZmxp
YgogICAgc3JjL2NvbGFtZAogICAgc3JjL2RyYWZ0CiAgICBzcmMvZW52CiAgICBzcmMvaW50b3B0
CiAgICBzcmMvbWluaXNhdAogICAgc3JjL21pc2MKICAgIHNyYy9tcGwKICAgIHNyYy9ucHAKICAg
IHNyYy9wcm94eQogICAgc3JjL3NpbXBsZXgKICAgIHNyYy96bGliCikKIyBhZGQgdzMyIG9yIHc2
NCBhcyBpbmNsdWRlIGZvciBjb25maWcuaCBhcHByb3ByaWF0ZWx5CmluY2x1ZGVfZGlyZWN0b3Jp
ZXMoJHtHTFBLX1dJTkRPV1NfU1VCRElSfSkKc2V0KEdMUEtfQ09ORklHX0hfRElSICR7Q01BS0Vf
Q1VSUkVOVF9TT1VSQ0VfRElSfS8ke0dMUEtfV0lORE9XU19TVUJESVJ9KQptZXNzYWdlKFNUQVRV
UyAiY29uZmlnLmggZnJvbTogJHtHTFBLX1dJTkRPV1NfU1VCRElSfSIpCgojIGJ1aWxkIEdMUEsg
bGlicmFyeS4gbWF5YmUgdXNlIHdpbGRjYXJkcz8gaW5jbHVkZSAuZGVmIGZvciBETEwKYWRkX2xp
YnJhcnkoCiAgICBnbHBrCiAgICBzcmMvYW1kL2FtZF8xLmMKICAgIHNyYy9hbWQvYW1kXzIuYwog
ICAgc3JjL2FtZC9hbWRfYWF0LmMKICAgIHNyYy9hbWQvYW1kX2NvbnRyb2wuYwogICAgc3JjL2Ft
ZC9hbWRfZGVmYXVsdHMuYwogICAgc3JjL2FtZC9hbWRfZHVtcC5jCiAgICBzcmMvYW1kL2FtZF9p
bmZvLmMKICAgIHNyYy9hbWQvYW1kX29yZGVyLmMKICAgIHNyYy9hbWQvYW1kX3Bvc3RfdHJlZS5j
CiAgICBzcmMvYW1kL2FtZF9wb3N0b3JkZXIuYwogICAgc3JjL2FtZC9hbWRfcHJlcHJvY2Vzcy5j
CiAgICBzcmMvYW1kL2FtZF92YWxpZC5jCiAgICBzcmMvYXBpL2FkdmJhcy5jCiAgICBzcmMvYXBp
L2FzbmhhbGwuYwogICAgc3JjL2FwaS9hc25scC5jCiAgICBzcmMvYXBpL2Fzbm9rYWxnLmMKICAg
IHNyYy9hcGkvY2thc24uYwogICAgc3JjL2FwaS9ja2NuZi5jCiAgICBzcmMvYXBpL2NwbGV4LmMK
ICAgIHNyYy9hcGkvY3BwLmMKICAgIHNyYy9hcGkvY3B4YmFzLmMKICAgIHNyYy9hcGkvZ3JhcGgu
YwogICAgc3JjL2FwaS9ncmlkZ2VuLmMKICAgIHNyYy9hcGkvaW50ZmVhczEuYwogICAgc3JjL2Fw
aS9tYXhmZmFsZy5jCiAgICBzcmMvYXBpL21heGZscC5jCiAgICBzcmMvYXBpL21jZmxwLmMKICAg
IHNyYy9hcGkvbWNmb2thbGcuYwogICAgc3JjL2FwaS9tY2ZyZWxheC5jCiAgICBzcmMvYXBpL21p
bmlzYXQxLmMKICAgIHNyYy9hcGkvbXBsLmMKICAgIHNyYy9hcGkvbXBzLmMKICAgIHNyYy9hcGkv
bmV0Z2VuLmMKICAgIHNyYy9hcGkvbnBwLmMKICAgIHNyYy9hcGkvcHJpcHQuYwogICAgc3JjL2Fw
aS9wcm1pcC5jCiAgICBzcmMvYXBpL3Byb2IxLmMKICAgIHNyYy9hcGkvcHJvYjIuYwogICAgc3Jj
L2FwaS9wcm9iMy5jCiAgICBzcmMvYXBpL3Byb2I0LmMKICAgIHNyYy9hcGkvcHJvYjUuYwogICAg
c3JjL2FwaS9wcnJuZ3MuYwogICAgc3JjL2FwaS9wcnNvbC5jCiAgICBzcmMvYXBpL3JkYXNuLmMK
ICAgIHNyYy9hcGkvcmRjYy5jCiAgICBzcmMvYXBpL3JkY25mLmMKICAgIHNyYy9hcGkvcmRpcHQu
YwogICAgc3JjL2FwaS9yZG1heGYuYwogICAgc3JjL2FwaS9yZG1jZi5jCiAgICBzcmMvYXBpL3Jk
bWlwLmMKICAgIHNyYy9hcGkvcmRwcm9iLmMKICAgIHNyYy9hcGkvcmRzb2wuYwogICAgc3JjL2Fw
aS9ybWZnZW4uYwogICAgc3JjL2FwaS9zdHJvbmcuYwogICAgc3JjL2FwaS90b3Bzb3J0LmMKICAg
IHNyYy9hcGkvd2Vhay5jCiAgICBzcmMvYXBpL3djbGlxZXguYwogICAgc3JjL2FwaS93cmFzbi5j
CiAgICBzcmMvYXBpL3dyY2MuYwogICAgc3JjL2FwaS93cmNuZi5jCiAgICBzcmMvYXBpL3dyaXB0
LmMKICAgIHNyYy9hcGkvd3JtYXhmLmMKICAgIHNyYy9hcGkvd3JtY2YuYwogICAgc3JjL2FwaS93
cm1pcC5jCiAgICBzcmMvYXBpL3dycHJvYi5jCiAgICBzcmMvYXBpL3dyc29sLmMKICAgIHNyYy9i
ZmxpYi9idGYuYwogICAgc3JjL2JmbGliL2J0ZmludC5jCiAgICBzcmMvYmZsaWIvZmh2LmMKICAg
IHNyYy9iZmxpYi9maHZpbnQuYwogICAgc3JjL2JmbGliL2lmdS5jCiAgICBzcmMvYmZsaWIvbHVm
LmMKICAgIHNyYy9iZmxpYi9sdWZpbnQuYwogICAgc3JjL2JmbGliL3NjZi5jCiAgICBzcmMvYmZs
aWIvc2NmaW50LmMKICAgIHNyYy9iZmxpYi9zZ2YuYwogICAgc3JjL2JmbGliL3N2YS5jCiAgICBz
cmMvY29sYW1kL2NvbGFtZC5jCiAgICBzcmMvZHJhZnQvYmZkLmMKICAgIHNyYy9kcmFmdC9iZngu
YwogICAgc3JjL2RyYWZ0L2dscGFwaTA2LmMKICAgIHNyYy9kcmFmdC9nbHBhcGkwNy5jCiAgICBz
cmMvZHJhZnQvZ2xwYXBpMDguYwogICAgc3JjL2RyYWZ0L2dscGFwaTA5LmMKICAgIHNyYy9kcmFm
dC9nbHBhcGkxMC5jCiAgICBzcmMvZHJhZnQvZ2xwYXBpMTIuYwogICAgc3JjL2RyYWZ0L2dscGFw
aTEzLmMKICAgIHNyYy9kcmFmdC9nbHBpb3MwMS5jCiAgICBzcmMvZHJhZnQvZ2xwaW9zMDIuYwog
ICAgc3JjL2RyYWZ0L2dscGlvczAzLmMKICAgIHNyYy9kcmFmdC9nbHBpb3MwNy5jCiAgICBzcmMv
ZHJhZnQvZ2xwaW9zMDkuYwogICAgc3JjL2RyYWZ0L2dscGlvczExLmMKICAgIHNyYy9kcmFmdC9n
bHBpb3MxMi5jCiAgICBzcmMvZHJhZnQvZ2xwaXBtLmMKICAgIHNyYy9kcmFmdC9nbHBtYXQuYwog
ICAgc3JjL2RyYWZ0L2dscHNjbC5jCiAgICBzcmMvZHJhZnQvZ2xwc3N4MDEuYwogICAgc3JjL2Ry
YWZ0L2dscHNzeDAyLmMKICAgIHNyYy9kcmFmdC9sdXguYwogICAgc3JjL2Vudi9hbGxvYy5jCiAg
ICBzcmMvZW52L2Rsc3VwLmMKICAgIHNyYy9lbnYvZW52LmMKICAgIHNyYy9lbnYvZXJyb3IuYwog
ICAgc3JjL2Vudi9zdGRjLmMKICAgIHNyYy9lbnYvc3Rkb3V0LmMKICAgIHNyYy9lbnYvc3RyZWFt
LmMKICAgIHNyYy9lbnYvdGltZS5jCiAgICBzcmMvZW52L3Rscy5jCiAgICBzcmMvaW50b3B0L2Nm
Zy5jCiAgICBzcmMvaW50b3B0L2NmZzEuYwogICAgc3JjL2ludG9wdC9jZmcyLmMKICAgIHNyYy9p
bnRvcHQvY2xxY3V0LmMKICAgIHNyYy9pbnRvcHQvY292Z2VuLmMKICAgIHNyYy9pbnRvcHQvZnB1
bXAuYwogICAgc3JjL2ludG9wdC9nbWljdXQuYwogICAgc3JjL2ludG9wdC9nbWlnZW4uYwogICAg
c3JjL2ludG9wdC9taXJnZW4uYwogICAgc3JjL2ludG9wdC9zcHYuYwogICAgc3JjL21pbmlzYXQv
bWluaXNhdC5jCiAgICBzcmMvbWlzYy9hdmwuYwogICAgc3JjL21pc2MvYmlnbnVtLmMKICAgIHNy
Yy9taXNjL2RpbWFjcy5jCiAgICBzcmMvbWlzYy9kbXAuYwogICAgc3JjL21pc2MvZmZhbGcuYwog
ICAgc3JjL21pc2MvZnAycmF0LmMKICAgIHNyYy9taXNjL2Z2cy5jCiAgICBzcmMvbWlzYy9nY2Qu
YwogICAgc3JjL21pc2MvaGJtLmMKICAgIHNyYy9taXNjL2pkLmMKICAgIHNyYy9taXNjL2tlbGxl
ci5jCiAgICBzcmMvbWlzYy9rcy5jCiAgICBzcmMvbWlzYy9tYzEzZC5jCiAgICBzcmMvbWlzYy9t
YzIxYS5jCiAgICBzcmMvbWlzYy9tdDEuYwogICAgc3JjL21pc2MvbXlnbXAuYwogICAgc3JjL21p
c2Mvb2thbGcuYwogICAgc3JjL21pc2MvcW1kLmMKICAgIHNyYy9taXNjL3JlbGF4NC5jCiAgICBz
cmMvbWlzYy9yZ3IuYwogICAgc3JjL21pc2Mvcm5nLmMKICAgIHNyYy9taXNjL3JuZzEuYwogICAg
c3JjL21pc2Mvcm91bmQybi5jCiAgICBzcmMvbWlzYy9zcG0uYwogICAgc3JjL21pc2Mvc3RyMmlu
dC5jCiAgICBzcmMvbWlzYy9zdHIybnVtLmMKICAgIHNyYy9taXNjL3N0cnNweC5jCiAgICBzcmMv
bWlzYy9zdHJ0cmltLmMKICAgIHNyYy9taXNjL3RyaWFuZy5jCiAgICBzcmMvbWlzYy93Y2xpcXVl
LmMKICAgIHNyYy9taXNjL3djbGlxdWUxLmMKICAgIHNyYy9tcGwvbXBsMS5jCiAgICBzcmMvbXBs
L21wbDIuYwogICAgc3JjL21wbC9tcGwzLmMKICAgIHNyYy9tcGwvbXBsNC5jCiAgICBzcmMvbXBs
L21wbDUuYwogICAgc3JjL21wbC9tcGw2LmMKICAgIHNyYy9tcGwvbXBsc3FsLmMKICAgIHNyYy9u
cHAvbnBwMS5jCiAgICBzcmMvbnBwL25wcDIuYwogICAgc3JjL25wcC9ucHAzLmMKICAgIHNyYy9u
cHAvbnBwNC5jCiAgICBzcmMvbnBwL25wcDUuYwogICAgc3JjL25wcC9ucHA2LmMKICAgIHNyYy9w
cm94eS9wcm94eS5jCiAgICBzcmMvcHJveHkvcHJveHkxLmMKICAgIHNyYy9zaW1wbGV4L3NweGF0
LmMKICAgIHNyYy9zaW1wbGV4L3NweGNodXpjLmMKICAgIHNyYy9zaW1wbGV4L3NweGNodXpyLmMK
ICAgIHNyYy9zaW1wbGV4L3NweGxwLmMKICAgIHNyYy9zaW1wbGV4L3NweG50LmMKICAgIHNyYy9z
aW1wbGV4L3NweHByaW0uYwogICAgc3JjL3NpbXBsZXgvc3B4cHJvYi5jCiAgICBzcmMvc2ltcGxl
eC9zcHljaHV6Yy5jCiAgICBzcmMvc2ltcGxleC9zcHljaHV6ci5jCiAgICBzcmMvc2ltcGxleC9z
cHlkdWFsLmMKICAgIHNyYy96bGliL2FkbGVyMzIuYwogICAgc3JjL3psaWIvY29tcHJlc3MuYwog
ICAgc3JjL3psaWIvY3JjMzIuYwogICAgc3JjL3psaWIvZGVmbGF0ZS5jCiAgICBzcmMvemxpYi9n
emNsb3NlLmMKICAgIHNyYy96bGliL2d6bGliLmMKICAgIHNyYy96bGliL2d6cmVhZC5jCiAgICBz
cmMvemxpYi9nendyaXRlLmMKICAgIHNyYy96bGliL2luZmZhc3QuYwogICAgc3JjL3psaWIvaW5m
bGF0ZS5jCiAgICBzcmMvemxpYi9pbmZ0cmVlcy5jCiAgICBzcmMvemxpYi90cmVlcy5jCiAgICBz
cmMvemxpYi91bmNvbXByLmMKICAgIHNyYy96bGliL3ppby5jCiAgICBzcmMvemxpYi96dXRpbC5j
CiAgICAke0dMUEtfV0lORE9XU19TVUJESVJ9L2dscGtfJHtHTFBLX1ZFUlNJT05fTUFKT1J9XyR7
R0xQS19WRVJTSU9OX01JTk9SfS5kZWYKKQojIGNvbmZpZy5oIGNvcHlpbmcgZnJvbSBjb25maWdf
VkMuIHczMiBhbmQgdzY0IGFyZSBzYW1lIGJ1dCB3ZSBjaG9vc2UKYWRkX2N1c3RvbV9jb21tYW5k
KAogICAgVEFSR0VUIGdscGsgUFJFX0JVSUxECiAgICBDT01NQU5ECiAgICAgICAgJHtDTUFLRV9D
T01NQU5EfSAtRSBjb3B5X2lmX2RpZmZlcmVudCAke0dMUEtfQ09ORklHX0hfRElSfS9jb25maWdf
VkMKICAgICAgICAgICAgJHtHTFBLX0NPTkZJR19IX0RJUn0vY29uZmlnLmgKICAgIENPTU1FTlQg
IkNvcHlpbmcgY29uZmlnX1ZDIHRvIGNvbmZpZy5oIgogICAgVkVSQkFUSU0KKQojIGdscGsuaCBp
cyB0aGUgcHVibGljIGhlYWRlcgpzZXRfdGFyZ2V0X3Byb3BlcnRpZXMoZ2xwayBQUk9QRVJUSUVT
IFBVQkxJQ19IRUFERVIgc3JjL2dscGsuaCkKIyBpZiBub3QgdXNpbmcgbXVsdGktY29uZmlnIGlu
c3RhbGwsIHN1ZmZpeCAiZCIgdG8gZ2xwawppZihNU1ZDIEFORCBOT1QgR0xQS19JTlNUQUxMX01V
TFRJX0NPTkZJRykKICAgIHNldF90YXJnZXRfcHJvcGVydGllcyhnbHBrIFBST1BFUlRJRVMgT1VU
UFVUX05BTUUgZ2xwayQ8JDxDT05GSUc6RGVidWc+OmQ+KQplbmRpZigpCgojIGJ1aWxkIGdscHNv
bAphZGRfZXhlY3V0YWJsZShnbHBzb2wgZXhhbXBsZXMvZ2xwc29sLmMpCnRhcmdldF9saW5rX2xp
YnJhcmllcyhnbHBzb2wgUFJJVkFURSBnbHBrKQojIGlmIG5vdCB1c2luZyBtdWx0aS1jb25maWcg
aW5zdGFsbCwgc3VmZml4ICJkIiB0byBnbHBzb2wKaWYoTVNWQyBBTkQgTk9UIEdMUEtfSU5TVEFM
TF9NVUxUSV9DT05GSUcpCiAgICBzZXRfdGFyZ2V0X3Byb3BlcnRpZXMoZ2xwc29sIFBST1BFUlRJ
RVMgT1VUUFVUX05BTUUgZ2xwc29sJDwkPENPTkZJRzpEZWJ1Zz46ZD4pCmVuZGlmKCkKCiMgYnVp
bGQgZXhhbXBsZXMKaWYoR0xQS19CVUlMRF9FWEFNUExFUykKICAgIGFkZF9leGVjdXRhYmxlKGlw
dHNhbXAgZXhhbXBsZXMvaXB0c2FtcC5jKQogICAgdGFyZ2V0X2xpbmtfbGlicmFyaWVzKGlwdHNh
bXAgUFJJVkFURSBnbHBrKQogICAgYWRkX2V4ZWN1dGFibGUobXBsc2FtcDEgZXhhbXBsZXMvbXBs
c2FtcDEuYykKICAgIHRhcmdldF9saW5rX2xpYnJhcmllcyhtcGxzYW1wMSBQUklWQVRFIGdscGsp
CiAgICBhZGRfZXhlY3V0YWJsZShtcGxzYW1wMiBleGFtcGxlcy9tcGxzYW1wMi5jKQogICAgdGFy
Z2V0X2xpbmtfbGlicmFyaWVzKG1wbHNhbXAyIFBSSVZBVEUgZ2xwaykKICAgICMgYWJvcnRzIHNp
bmNlIGdscF9uZXRnZW4gZGlzYWJsZWQgZHVlIHRvIGxpY2Vuc2luZyBwcm9ibGVtcwogICAgIyBh
ZGRfZXhlY3V0YWJsZShuZXRnZW4gZXhhbXBsZXMvbmV0Z2VuLmMpCiAgICAjIHRhcmdldF9saW5r
X2xpYnJhcmllcyhuZXRnZW4gUFJJVkFURSBnbHBrKQogICAgYWRkX2V4ZWN1dGFibGUobnBwc2Ft
cCBleGFtcGxlcy9ucHBzYW1wLmMpCiAgICB0YXJnZXRfbGlua19saWJyYXJpZXMobnBwc2FtcCBQ
UklWQVRFIGdscGspCiAgICBhZGRfZXhlY3V0YWJsZShzYW1wbGUgZXhhbXBsZXMvc2FtcGxlLmMp
CiAgICB0YXJnZXRfbGlua19saWJyYXJpZXMoc2FtcGxlIFBSSVZBVEUgZ2xwaykKICAgIGFkZF9l
eGVjdXRhYmxlKHNweHNhbXAxIGV4YW1wbGVzL3NweHNhbXAxLmMpCiAgICB0YXJnZXRfbGlua19s
aWJyYXJpZXMoc3B4c2FtcDEgUFJJVkFURSBnbHBrKQogICAgYWRkX2V4ZWN1dGFibGUoc3B4c2Ft
cDIgZXhhbXBsZXMvc3B4c2FtcDIuYykKICAgIHRhcmdldF9saW5rX2xpYnJhcmllcyhzcHhzYW1w
MiBQUklWQVRFIGdscGspCmVuZGlmKCkKCiMgYWRkIGdscHNvbCBhcyBjdGVzdCB0ZXN0CmFkZF90
ZXN0KE5BTUUgImdscHNvbF92ZXJzaW9uIiBDT01NQU5EIGdscHNvbCAtLXZlcnNpb24pCmFkZF90
ZXN0KAogICAgTkFNRSAiZ2xwc29sX211cnRhZ2giCiAgICBDT01NQU5EIGdscHNvbCAtLW1wcyAk
e0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vZXhhbXBsZXMvbXVydGFnaC5tcHMgLS1tYXgKKQoj
IGFkZCBleGFtcGxlcyBhcyBhZGRpdGlvbmFsIHRlc3RzCmlmKEdMUEtfQlVJTERfRVhBTVBMRVMp
CiAgICBhZGRfdGVzdChOQU1FIGlwdHNhbXAgQ09NTUFORCBpcHRzYW1wIFdPUktJTkdfRElSRUNU
T1JZICR7R0xQS19FWEFNUExFU19ESVJ9KQogICAgYWRkX3Rlc3QoTkFNRSBtcGxzYW1wMSBDT01N
QU5EIG1wbHNhbXAxIFdPUktJTkdfRElSRUNUT1JZICR7R0xQS19FWEFNUExFU19ESVJ9KQogICAg
YWRkX3Rlc3QoTkFNRSBtcGxzYW1wMiBDT01NQU5EIG1wbHNhbXAyIFdPUktJTkdfRElSRUNUT1JZ
ICR7R0xQS19FWEFNUExFU19ESVJ9KQogICAgIyBhZGRfdGVzdChOQU1FIG5ldGdlbiBDT01NQU5E
IG5ldGdlbiBXT1JLSU5HX0RJUkVDVE9SWSAke0dMUEtfRVhBTVBMRVNfRElSfSkKICAgIGFkZF90
ZXN0KE5BTUUgbnBwc2FtcCBDT01NQU5EIG5wcHNhbXAgV09SS0lOR19ESVJFQ1RPUlkgJHtHTFBL
X0VYQU1QTEVTX0RJUn0pCiAgICBhZGRfdGVzdChOQU1FIHNhbXBsZSBDT01NQU5EIHNhbXBsZSBX
T1JLSU5HX0RJUkVDVE9SWSAke0dMUEtfRVhBTVBMRVNfRElSfSkKICAgIGFkZF90ZXN0KE5BTUUg
c3B4c2FtcDEgQ09NTUFORCBzcHhzYW1wMSBXT1JLSU5HX0RJUkVDVE9SWSAke0dMUEtfRVhBTVBM
RVNfRElSfSkKICAgIGFkZF90ZXN0KE5BTUUgc3B4c2FtcDIgQ09NTUFORCBzcHhzYW1wMiBXT1JL
SU5HX0RJUkVDVE9SWSAke0dMUEtfRVhBTVBMRVNfRElSfSkKZW5kaWYoKQoKIyB0YXJnZXRzIHRv
IGluc3RhbGwuIGdscGsgaW5jbHVkZXMgdGhlIGdscGsuaCBoZWFkZXIKc2V0KEdMUEtfSU5TVEFM
TF9UQVJHRVRTIGdscGsgZ2xwc29sKQojIGluc3RhbGwgbGlicmFyeSBhbmQgZ2xwc29sIHdoZW4g
Y21ha2UgLS1pbnN0YWxsIGlzIGludm9rZWQKaWYoTVNWQykKICAgICMgRGVidWcgY29uZmlnIHNo
b3VsZCBhbHNvIGluc3RhbGwgUERCIGZpbGVzLiB0aGV5IGdvIHRvIGxpYiBpZiBsaWJyYXJpZXMK
ICAgICMgYXJlIHN0YXRpYywgYmluIGlmIGxpYnJhcmllcyBhcmUgRExMIGZvciBkZWJ1Z2dpbmcg
Y29udmVuaWVuY2UKICAgIGlmKEJVSUxEX1NIQVJFRF9MSUJTKQogICAgICAgIHNldChHTFBLX1BE
Ql9JTlNUQUxMX1NVQkRJUiBiaW4pCiAgICBlbHNlKCkKICAgICAgICBzZXQoR0xQS19QREJfSU5T
VEFMTF9TVUJESVIgbGliKQogICAgZW5kaWYoKQogICAgIyBtdWx0aS1jb25maWcgaW5zdGFsbGF0
aW9uCiAgICBpZihHTFBLX0lOU1RBTExfTVVMVElfQ09ORklHKQogICAgICAgIGluc3RhbGwoCiAg
ICAgICAgICAgIFRBUkdFVFMgJHtHTFBLX0lOU1RBTExfVEFSR0VUU30KICAgICAgICAgICAgUlVO
VElNRSBERVNUSU5BVElPTiBiaW4vJDxDT05GSUc+CiAgICAgICAgICAgIExJQlJBUlkgREVTVElO
QVRJT04gbGliLyQ8Q09ORklHPgogICAgICAgICAgICBBUkNISVZFIERFU1RJTkFUSU9OIGxpYi8k
PENPTkZJRz4KICAgICAgICAgICAgUFVCTElDX0hFQURFUiBERVNUSU5BVElPTiBpbmNsdWRlCiAg
ICAgICAgICAgIENPTVBPTkVOVCBnbHBrCiAgICAgICAgKQogICAgICAgICMgRGVidWcgY29uZmln
IHNob3VsZCBhbHNvIGluc3RhbGwgUERCIGZpbGVzLiB0aGV5IGdvIHRvIGxpYiBpZgogICAgICAg
ICMgbGlicmFyaWVzIGFyZSBzdGF0aWMsIGJpbiBpZiBsaWJyYXJpZXMgYXJlIERMTAogICAgICAg
IGlmKEJVSUxEX1NIQVJFRF9MSUJTKQogICAgICAgICAgICBzZXQoR0xQS19QREJfSU5TVEFMTF9T
VUJESVIgYmluKQogICAgICAgIGVsc2UoKQogICAgICAgICAgICBzZXQoR0xQS19QREJfSU5TVEFM
TF9TVUJESVIgbGliKQogICAgICAgIGVuZGlmKCkKICAgICAgICAjIGluc3RhbGwgUERCIGZpbGUg
Zm9yIERlYnVnIGNvbmZpZyBvbmx5CiAgICAgICAgaW5zdGFsbCgKICAgICAgICAgICAgRklMRVMg
JHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9L0RlYnVnL2dscGsucGRiCiAgICAgICAgICAgIENP
TkZJR1VSQVRJT05TIERlYnVnCiAgICAgICAgICAgIERFU1RJTkFUSU9OICR7R0xQS19QREJfSU5T
VEFMTF9TVUJESVJ9L0RlYnVnCiAgICAgICAgICAgIENPTVBPTkVOVCBnbHBrCiAgICAgICAgKQog
ICAgIyBmbGF0IGluc3RhbGxhdGlvbiB3aGVyZSBhcnRpZmFjdHMgYXJlIHN1ZmZpeGVkIHdpdGgg
ImQiCiAgICBlbHNlKCkKICAgICAgICBpbnN0YWxsKAogICAgICAgICAgICBUQVJHRVRTICR7R0xQ
S19JTlNUQUxMX1RBUkdFVFN9CiAgICAgICAgICAgIFJVTlRJTUUgREVTVElOQVRJT04gYmluCiAg
ICAgICAgICAgIExJQlJBUlkgREVTVElOQVRJT04gbGliCiAgICAgICAgICAgIEFSQ0hJVkUgREVT
VElOQVRJT04gbGliCiAgICAgICAgICAgIFBVQkxJQ19IRUFERVIgREVTVElOQVRJT04gaW5jbHVk
ZQogICAgICAgICAgICBDT01QT05FTlQgZ2xwawogICAgICAgICkKICAgICAgICBpbnN0YWxsKAog
ICAgICAgICAgICBGSUxFUyAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vRGVidWcvZ2xwa2Qu
cGRiCiAgICAgICAgICAgIENPTkZJR1VSQVRJT05TIERlYnVnCiAgICAgICAgICAgIERFU1RJTkFU
SU9OICR7R0xQS19QREJfSU5TVEFMTF9TVUJESVJ9CiAgICAgICAgICAgIENPTVBPTkVOVCBnbHBr
CiAgICAgICAgKQogICAgZW5kaWYoKQojIHR5cGljYWwgZmxhdCAqbml4IGluc3RhbGxhdGlvbgoj
IFRPRE86IGZvciAqbml4LCBuZWVkIHBrZy1jb25maWcgc3R1ZmYgdG9vLCBldGMuCmVsc2UoKQog
ICAgaW5zdGFsbCgKICAgICAgICBUQVJHRVRTICR7R0xQS19JTlNUQUxMX1RBUkdFVFN9CiAgICAg
ICAgUlVOVElNRSBERVNUSU5BVElPTiBiaW4KICAgICAgICBMSUJSQVJZIERFU1RJTkFUSU9OIGxp
YgogICAgICAgIEFSQ0hJVkUgREVTVElOQVRJT04gbGliCiAgICAgICAgUFVCTElDX0hFQURFUiBE
RVNUSU5BVElPTiBpbmNsdWRlCiAgICAgICAgQ09NUE9ORU5UIGdscGsKICAgICkKZW5kaWYoKQo=
--0000000000006be7ed061059fb86--