<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>185112</bug_id>
          
          <creation_ts>2018-04-28 07:44:47 -0700</creation_ts>
          <short_desc>REGRESSION(r231131): It is breaking Debug build due to unchecked exception (Requested by caiolima on #webkit).</short_desc>
          <delta_ts>2018-04-28 07:51:15 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>183721</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>saam</cc>
    
    <cc>ticaiolima</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1418786</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-04-28 07:44:47 -0700</bug_when>
    <thetext>https://trac.webkit.org/changeset/231131 broke the build:
It is breaking Debug build due to unchecked exception (Requested by caiolima on #webkit).

This is an automatic bug report generated by webkitbot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1418788</commentid>
    <comment_count>1</comment_count>
      <attachid>339064</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-04-28 07:44:55 -0700</bug_when>
    <thetext>Created attachment 339064
ROLLOUT of r231131

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1418789</commentid>
    <comment_count>2</comment_count>
      <attachid>339064</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-04-28 07:50:01 -0700</bug_when>
    <thetext>Comment on attachment 339064
ROLLOUT of r231131

Clearing flags on attachment: 339064

Committed r231133: &lt;https://trac.webkit.org/changeset/231133&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1418790</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-04-28 07:50:02 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1418791</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-04-28 07:51:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/39817562&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>339064</attachid>
            <date>2018-04-28 07:44:55 -0700</date>
            <delta_ts>2018-04-28 07:50:01 -0700</delta_ts>
            <desc>ROLLOUT of r231131</desc>
            <filename>bug-185112-20180428104455.patch</filename>
            <type>text/plain</type>
            <size>44229</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMxMTMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
MzQ3NGQwNWUyMGJkNjk0NTUzZmU2MjFhNTY4NzVhMGE1NzhiM2Y0Li42YTExOTFkOTAzZDIwZTEy
Nzk5ZGNjZjk1ODBjZDE3YzFlNzY5M2EzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAxOC0wNC0yOCAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjIzMTEzMS4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NTExMgorCisgICAg
ICAgIEl0IGlzIGJyZWFraW5nIERlYnVnIGJ1aWxkIGR1ZSB0byB1bmNoZWNrZWQgZXhjZXB0aW9u
CisgICAgICAgIChSZXF1ZXN0ZWQgYnkgY2Fpb2xpbWEgb24gI3dlYmtpdCkuCisKKyAgICAgICAg
UmV2ZXJ0ZWQgY2hhbmdlc2V0OgorCisgICAgICAgICJbRVNOZXh0XVtCaWdJbnRdIEltcGxlbWVu
dCBzdXBwb3J0IGZvciAiKiIgb3BlcmF0aW9uIgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgzNzIxCisgICAgICAgIGh0dHBzOi8vdHJhYy53ZWJraXQu
b3JnL2NoYW5nZXNldC8yMzExMzEKKwogMjAxOC0wNC0yNyAgQ2FpbyBMaW1hICA8dGljYWlvbGlt
YUBnbWFpbC5jb20+CiAKICAgICAgICAgW0VTTmV4dF1bQmlnSW50XSBJbXBsZW1lbnQgc3VwcG9y
dCBmb3IgIioiIG9wZXJhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdDb25zdGFudEZvbGRpbmdQaGFzZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0NvbnN0YW50Rm9sZGluZ1BoYXNlLmNwcAppbmRleCBlNDY1MGFjMzA4MGY2YjQyMGI2Mzc4
YjY2NWNlZDUyNmJiOWRlNWE3Li5jZWU2NTYyMzQzMTc3MGY0YmY0MDJhZGEwYzg3NzM1OGY4MDBi
NjdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NvbnN0YW50Rm9s
ZGluZ1BoYXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NvbnN0YW50
Rm9sZGluZ1BoYXNlLmNwcApAQCAtMTQ2LDE0ICsxNDYsMTQgQEAgcHJpdmF0ZToKICAgICAgICAg
ICAgICAgICAgICAgSlNWYWx1ZSBjaGlsZDJDb25zdGFudCA9IG1fc3RhdGUuZm9yTm9kZShub2Rl
LT5jaGlsZDIoKS5ub2RlKCkpLnZhbHVlKCk7CiAKICAgICAgICAgICAgICAgICAgICAgLy8gRklY
TUU6IFJldmlzaXQgdGhpcyBjb25kaXRpb24gd2hlbiBpbnRyb2R1Y2luZyBCaWdJbnQgdG8gSlND
LgotICAgICAgICAgICAgICAgICAgICBhdXRvIGlzTm9uU3RyaW5nT3JCaWdJbnRDZWxsQ29uc3Rh
bnQgPSBbXSAoSlNWYWx1ZSB2YWx1ZSkgewotICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJu
IHZhbHVlICYmIHZhbHVlLmlzQ2VsbCgpICYmICF2YWx1ZS5pc1N0cmluZygpICYmICF2YWx1ZS5p
c0JpZ0ludCgpOworICAgICAgICAgICAgICAgICAgICBhdXRvIGlzTm9uU3RyaW5nQ2VsbENvbnN0
YW50ID0gW10gKEpTVmFsdWUgdmFsdWUpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVy
biB2YWx1ZSAmJiB2YWx1ZS5pc0NlbGwoKSAmJiAhdmFsdWUuaXNTdHJpbmcoKTsKICAgICAgICAg
ICAgICAgICAgICAgfTsKIAotICAgICAgICAgICAgICAgICAgICBpZiAoaXNOb25TdHJpbmdPckJp
Z0ludENlbGxDb25zdGFudChjaGlsZDFDb25zdGFudCkpIHsKKyAgICAgICAgICAgICAgICAgICAg
aWYgKGlzTm9uU3RyaW5nQ2VsbENvbnN0YW50KGNoaWxkMUNvbnN0YW50KSkgewogICAgICAgICAg
ICAgICAgICAgICAgICAgbm9kZS0+Y29udmVydFRvQ29tcGFyZUVxUHRyKG1fZ3JhcGguZnJlZXpl
U3Ryb25nKGNoaWxkMUNvbnN0YW50LmFzQ2VsbCgpKSwgbm9kZS0+Y2hpbGQyKCkpOwogICAgICAg
ICAgICAgICAgICAgICAgICAgY2hhbmdlZCA9IHRydWU7Ci0gICAgICAgICAgICAgICAgICAgIH0g
ZWxzZSBpZiAoaXNOb25TdHJpbmdPckJpZ0ludENlbGxDb25zdGFudChjaGlsZDJDb25zdGFudCkp
IHsKKyAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChpc05vblN0cmluZ0NlbGxDb25zdGFu
dChjaGlsZDJDb25zdGFudCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGUtPmNvbnZl
cnRUb0NvbXBhcmVFcVB0cihtX2dyYXBoLmZyZWV6ZVN0cm9uZyhjaGlsZDJDb25zdGFudC5hc0Nl
bGwoKSksIG5vZGUtPmNoaWxkMSgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZWQg
PSB0cnVlOwogICAgICAgICAgICAgICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVRPcGVyYXRpb25zLmNwcAppbmRleCA2MmZjMWIwMjJhYzk3Y2JkODg4MTQxOTIyMjJjNjI3
NDlkMjdmNWI2Li4zNjViYjczNzU1YTdhNDU0Y2YwODU0MzZjNjM3OGQxYmY3M2ZlYzRiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKQEAgLTI1NTQsMjMg
KzI1NTQsMzQgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25WYWx1ZUFk
ZE5vT3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGUKICAgICByZXR1cm4gSlNWYWx1ZTo6
ZW5jb2RlKHJlc3VsdCk7CiB9CiAKLUFMV0FZU19JTkxJTkUgc3RhdGljIEVuY29kZWRKU1ZhbHVl
IHVucHJvZmlsZWRNdWwoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkT3Ax
LCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkT3AyKQorQUxXQVlTX0lOTElORSBzdGF0aWMgRW5jb2Rl
ZEpTVmFsdWUgdW5wcm9maWxlZE11bChWTSYgdm0sIEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpT
VmFsdWUgZW5jb2RlZE9wMSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZE9wMikKIHsKKyAgICBhdXRv
IHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CiAgICAgSlNWYWx1ZSBvcDEgPSBKU1Zh
bHVlOjpkZWNvZGUoZW5jb2RlZE9wMSk7CiAgICAgSlNWYWx1ZSBvcDIgPSBKU1ZhbHVlOjpkZWNv
ZGUoZW5jb2RlZE9wMik7CiAKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTXVsKGV4ZWMs
IG9wMSwgb3AyKSk7CisgICAgZG91YmxlIGEgPSBvcDEudG9OdW1iZXIoZXhlYyk7CisgICAgUkVU
VVJOX0lGX0VYQ0VQVElPTihzY29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7CisgICAgc2NvcGUucmVs
ZWFzZSgpOworICAgIGRvdWJsZSBiID0gb3AyLnRvTnVtYmVyKGV4ZWMpOworICAgIHJldHVybiBK
U1ZhbHVlOjplbmNvZGUoanNOdW1iZXIoYSAqIGIpKTsKIH0KIAotQUxXQVlTX0lOTElORSBzdGF0
aWMgRW5jb2RlZEpTVmFsdWUgcHJvZmlsZWRNdWwoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNW
YWx1ZSBlbmNvZGVkT3AxLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkT3AyLCBBcml0aFByb2ZpbGUm
IGFyaXRoUHJvZmlsZSwgYm9vbCBzaG91bGRPYnNlcnZlTEhTQW5kUkhTVHlwZXMgPSB0cnVlKQor
QUxXQVlTX0lOTElORSBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgcHJvZmlsZWRNdWwoVk0mIHZtLCBF
eGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRPcDEsIEVuY29kZWRKU1ZhbHVl
IGVuY29kZWRPcDIsIEFyaXRoUHJvZmlsZSYgYXJpdGhQcm9maWxlLCBib29sIHNob3VsZE9ic2Vy
dmVMSFNBbmRSSFNUeXBlcyA9IHRydWUpCiB7CisgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhS
T1dfU0NPUEUodm0pOwogICAgIEpTVmFsdWUgb3AxID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRP
cDEpOwogICAgIEpTVmFsdWUgb3AyID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRPcDIpOwogCiAg
ICAgaWYgKHNob3VsZE9ic2VydmVMSFNBbmRSSFNUeXBlcykKICAgICAgICAgYXJpdGhQcm9maWxl
Lm9ic2VydmVMSFNBbmRSSFMob3AxLCBvcDIpOwogCi0gICAgSlNWYWx1ZSByZXN1bHQgPSBqc011
bChleGVjLCBvcDEsIG9wMik7CisgICAgZG91YmxlIGEgPSBvcDEudG9OdW1iZXIoZXhlYyk7Cisg
ICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7CisgICAgZG91
YmxlIGIgPSBvcDIudG9OdW1iZXIoZXhlYyk7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29w
ZSwgZW5jb2RlZEpTVmFsdWUoKSk7CisgICAgCisgICAgSlNWYWx1ZSByZXN1bHQgPSBqc051bWJl
cihhICogYik7CiAgICAgYXJpdGhQcm9maWxlLm9ic2VydmVSZXN1bHQocmVzdWx0KTsKICAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdCk7CiB9CkBAIC0yNTgwLDcgKzI1OTEsNyBAQCBF
bmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblZhbHVlTXVsKEV4ZWNTdGF0ZSog
ZXhlYywgRW5jb2RlZEpTVmFsdWUgZQogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5h
dGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwogCi0gICAgcmV0dXJuIHVucHJv
ZmlsZWRNdWwoZXhlYywgZW5jb2RlZE9wMSwgZW5jb2RlZE9wMik7CisgICAgcmV0dXJuIHVucHJv
ZmlsZWRNdWwoKnZtLCBleGVjLCBlbmNvZGVkT3AxLCBlbmNvZGVkT3AyKTsKIH0KIAogRW5jb2Rl
ZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25WYWx1ZU11bE5vT3B0aW1pemUoRXhlY1N0
YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkT3AxLCBFbmNvZGVkSlNWYWx1ZSBlbmNv
ZGVkT3AyLCBKSVRNdWxJQyopCkBAIC0yNTg4LDcgKzI1OTksNyBAQCBFbmNvZGVkSlNWYWx1ZSBK
SVRfT1BFUkFUSU9OIG9wZXJhdGlvblZhbHVlTXVsTm9PcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMs
IEVuY29kZQogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRy
YWNlciB0cmFjZXIodm0sIGV4ZWMpOwogCi0gICAgcmV0dXJuIHVucHJvZmlsZWRNdWwoZXhlYywg
ZW5jb2RlZE9wMSwgZW5jb2RlZE9wMik7CisgICAgcmV0dXJuIHVucHJvZmlsZWRNdWwoKnZtLCBl
eGVjLCBlbmNvZGVkT3AxLCBlbmNvZGVkT3AyKTsKIH0KIAogRW5jb2RlZEpTVmFsdWUgSklUX09Q
RVJBVElPTiBvcGVyYXRpb25WYWx1ZU11bE9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2Rl
ZEpTVmFsdWUgZW5jb2RlZE9wMSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZE9wMiwgSklUTXVsSUMq
IG11bElDKQpAQCAtMjYwNSw3ICsyNjE2LDcgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElP
TiBvcGVyYXRpb25WYWx1ZU11bE9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEoKICAg
ICBleGVjLT5jb2RlQmxvY2soKS0+ZHVtcE1hdGhJQ1N0YXRzKCk7CiAjZW5kaWYKIAotICAgIHJl
dHVybiB1bnByb2ZpbGVkTXVsKGV4ZWMsIGVuY29kZWRPcDEsIGVuY29kZWRPcDIpOworICAgIHJl
dHVybiB1bnByb2ZpbGVkTXVsKCp2bSwgZXhlYywgZW5jb2RlZE9wMSwgZW5jb2RlZE9wMik7CiB9
CiAKIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uVmFsdWVNdWxQcm9maWxl
ZChFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRPcDEsIEVuY29kZWRKU1Zh
bHVlIGVuY29kZWRPcDIsIEFyaXRoUHJvZmlsZSogYXJpdGhQcm9maWxlKQpAQCAtMjYxNCw3ICsy
NjI1LDcgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25WYWx1ZU11bFBy
b2ZpbGVkKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEoKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFj
ZXIgdHJhY2VyKHZtLCBleGVjKTsKIAogICAgIEFTU0VSVChhcml0aFByb2ZpbGUpOwotICAgIHJl
dHVybiBwcm9maWxlZE11bChleGVjLCBlbmNvZGVkT3AxLCBlbmNvZGVkT3AyLCAqYXJpdGhQcm9m
aWxlKTsKKyAgICByZXR1cm4gcHJvZmlsZWRNdWwoKnZtLCBleGVjLCBlbmNvZGVkT3AxLCBlbmNv
ZGVkT3AyLCAqYXJpdGhQcm9maWxlKTsKIH0KIAogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElP
TiBvcGVyYXRpb25WYWx1ZU11bFByb2ZpbGVkT3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBFbmNv
ZGVkSlNWYWx1ZSBlbmNvZGVkT3AxLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkT3AyLCBKSVRNdWxJ
QyogbXVsSUMpCkBAIC0yNjMyLDcgKzI2NDMsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvblZhbHVlTXVsUHJvZmlsZWRPcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsCiAg
ICAgZXhlYy0+Y29kZUJsb2NrKCktPmR1bXBNYXRoSUNTdGF0cygpOwogI2VuZGlmCiAKLSAgICBy
ZXR1cm4gcHJvZmlsZWRNdWwoZXhlYywgZW5jb2RlZE9wMSwgZW5jb2RlZE9wMiwgKmFyaXRoUHJv
ZmlsZSwgZmFsc2UpOworICAgIHJldHVybiBwcm9maWxlZE11bCgqdm0sIGV4ZWMsIGVuY29kZWRP
cDEsIGVuY29kZWRPcDIsICphcml0aFByb2ZpbGUsIGZhbHNlKTsKIH0KIAogRW5jb2RlZEpTVmFs
dWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25WYWx1ZU11bFByb2ZpbGVkTm9PcHRpbWl6ZShFeGVj
U3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRPcDEsIEVuY29kZWRKU1ZhbHVlIGVu
Y29kZWRPcDIsIEpJVE11bElDKiBtdWxJQykKQEAgLTI2NDIsNyArMjY1Myw3IEBAIEVuY29kZWRK
U1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uVmFsdWVNdWxQcm9maWxlZE5vT3B0aW1pemUo
RXhlY1N0YXRlKiBleGVjCiAKICAgICBBcml0aFByb2ZpbGUqIGFyaXRoUHJvZmlsZSA9IG11bElD
LT5hcml0aFByb2ZpbGUoKTsKICAgICBBU1NFUlQoYXJpdGhQcm9maWxlKTsKLSAgICByZXR1cm4g
cHJvZmlsZWRNdWwoZXhlYywgZW5jb2RlZE9wMSwgZW5jb2RlZE9wMiwgKmFyaXRoUHJvZmlsZSk7
CisgICAgcmV0dXJuIHByb2ZpbGVkTXVsKCp2bSwgZXhlYywgZW5jb2RlZE9wMSwgZW5jb2RlZE9w
MiwgKmFyaXRoUHJvZmlsZSk7CiB9CiAKIEFMV0FZU19JTkxJTkUgc3RhdGljIEVuY29kZWRKU1Zh
bHVlIHVucHJvZmlsZWROZWdhdGUoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBlbmNv
ZGVkT3BlcmFuZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Nv
bW1vblNsb3dQYXRocy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25T
bG93UGF0aHMuY3BwCmluZGV4IGRmOGZlNzNkNGYwN2I2MmU5NGViODU0M2VhMmI3MWVmMDRhZmFl
ZWQuLmU2YzFhNDRkNjdmNDIxNDUyODVmYjBkMjAwNzQ1ZGJjYjNhN2RmNzcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vblNsb3dQYXRocy5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmNwcApAQCAtNDg2
LDI0ICs0ODYsMTAgQEAgU0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX211bCkKICAgICBCRUdJTigp
OwogICAgIEpTVmFsdWUgbGVmdCA9IE9QX0MoMikuanNWYWx1ZSgpOwogICAgIEpTVmFsdWUgcmln
aHQgPSBPUF9DKDMpLmpzVmFsdWUoKTsKLSAgICBKU1ZhbHVlIGxlZnRQcmltaXRpdmUgPSBsZWZ0
LnRvUHJpbWl0aXZlKGV4ZWMsIFByZWZlck51bWJlcik7IAotICAgIENIRUNLX0VYQ0VQVElPTigp
OwotICAgIEpTVmFsdWUgcmlnaHRQcmltaXRpdmUgPSByaWdodC50b1ByaW1pdGl2ZShleGVjLCBQ
cmVmZXJOdW1iZXIpOwotICAgIENIRUNLX0VYQ0VQVElPTigpOwotICAgIAotICAgIGlmIChsZWZ0
UHJpbWl0aXZlLmlzQmlnSW50KCkgfHwgcmlnaHRQcmltaXRpdmUuaXNCaWdJbnQoKSkgewotICAg
ICAgICBpZiAobGVmdFByaW1pdGl2ZS5pc0JpZ0ludCgpICYmIHJpZ2h0UHJpbWl0aXZlLmlzQmln
SW50KCkpIHsKLSAgICAgICAgICAgIEpTVmFsdWUgcmVzdWx0KEpTQmlnSW50OjptdWx0aXBseShl
eGVjLCBhc0JpZ0ludChsZWZ0UHJpbWl0aXZlKSwgYXNCaWdJbnQocmlnaHRQcmltaXRpdmUpKSk7
Ci0gICAgICAgICAgICBSRVRVUk5fV0lUSF9QUk9GSUxJTkcocmVzdWx0LCB7Ci0gICAgICAgICAg
ICAgICAgdXBkYXRlQXJpdGhQcm9maWxlRm9yQmluYXJ5QXJpdGhPcChleGVjLCBwYywgcmVzdWx0
LCBsZWZ0LCByaWdodCk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfQotCi0gICAgICAgIFRI
Uk9XKGNyZWF0ZVR5cGVFcnJvcihleGVjLCAiSW52YWxpZCBtaXggb2YgQmlnSW50IGFuZCBvdGhl
ciB0eXBlIGluIG11bHRpcGxpY2F0aW9uLiIpKTsKLSAgICB9Ci0KLSAgICBkb3VibGUgYSA9IGxl
ZnRQcmltaXRpdmUudG9OdW1iZXIoZXhlYyk7Ci0gICAgZG91YmxlIGIgPSByaWdodFByaW1pdGl2
ZS50b051bWJlcihleGVjKTsKKyAgICBkb3VibGUgYSA9IGxlZnQudG9OdW1iZXIoZXhlYyk7Cisg
ICAgaWYgKFVOTElLRUxZKHRocm93U2NvcGUuZXhjZXB0aW9uKCkpKQorICAgICAgICBSRVRVUk4o
SlNWYWx1ZSgpKTsKKyAgICBkb3VibGUgYiA9IHJpZ2h0LnRvTnVtYmVyKGV4ZWMpOwogICAgIEpT
VmFsdWUgcmVzdWx0ID0ganNOdW1iZXIoYSAqIGIpOwogICAgIFJFVFVSTl9XSVRIX1BST0ZJTElO
RyhyZXN1bHQsIHsKICAgICAgICAgdXBkYXRlQXJpdGhQcm9maWxlRm9yQmluYXJ5QXJpdGhPcChl
eGVjLCBwYywgcmVzdWx0LCBsZWZ0LCByaWdodCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0JpZ0ludC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0JpZ0ludC5jcHAKaW5kZXggOTE5N2I5YTFhNDRkYzUxMTI3MDJkYTc4YTE4ODk4MDc4
ZjJkNjQ5Zi4uYzUxYzhiMjEwZDkzYzE3Zjk2NDAwZWZlNzdkYWE2NzJhMjU5YTZkMyAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNCaWdJbnQuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQmlnSW50LmNwcApAQCAtNjksNyArNjksNyBA
QCB2b2lkIEpTQmlnSW50Ojp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0b3Im
IHZpc2l0b3IpCiAgICAgQmFzZTo6dmlzaXRDaGlsZHJlbih0aGlzT2JqZWN0LCB2aXNpdG9yKTsK
IH0KIAotSlNCaWdJbnQ6OkpTQmlnSW50KFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIHVu
c2lnbmVkIGxlbmd0aCkKK0pTQmlnSW50OjpKU0JpZ0ludChWTSYgdm0sIFN0cnVjdHVyZSogc3Ry
dWN0dXJlLCBpbnQgbGVuZ3RoKQogICAgIDogQmFzZSh2bSwgc3RydWN0dXJlKQogICAgICwgbV9s
ZW5ndGgobGVuZ3RoKQogeyB9CkBAIC05MywxMyArOTMsMTMgQEAgSlNCaWdJbnQqIEpTQmlnSW50
OjpjcmVhdGVaZXJvKFZNJiB2bSkKICAgICByZXR1cm4gemVyb0JpZ0ludDsKIH0KIAotc2l6ZV90
IEpTQmlnSW50OjphbGxvY2F0aW9uU2l6ZSh1bnNpZ25lZCBsZW5ndGgpCitzaXplX3QgSlNCaWdJ
bnQ6OmFsbG9jYXRpb25TaXplKGludCBsZW5ndGgpCiB7CiAgICAgc2l6ZV90IHNpemVXaXRoUGFk
ZGluZyA9IFdURjo6cm91bmRVcFRvTXVsdGlwbGVPZjxzaXplb2Yoc2l6ZV90KT4oc2l6ZW9mKEpT
QmlnSW50KSk7CiAgICAgcmV0dXJuIHNpemVXaXRoUGFkZGluZyArIGxlbmd0aCAqIHNpemVvZihE
aWdpdCk7CiB9CiAKLUpTQmlnSW50KiBKU0JpZ0ludDo6Y3JlYXRlV2l0aExlbmd0aChWTSYgdm0s
IHVuc2lnbmVkIGxlbmd0aCkKK0pTQmlnSW50KiBKU0JpZ0ludDo6Y3JlYXRlV2l0aExlbmd0aChW
TSYgdm0sIGludCBsZW5ndGgpCiB7CiAgICAgSlNCaWdJbnQqIGJpZ0ludCA9IG5ldyAoTm90TnVs
bCwgYWxsb2NhdGVDZWxsPEpTQmlnSW50Pih2bS5oZWFwLCBhbGxvY2F0aW9uU2l6ZShsZW5ndGgp
KSkgSlNCaWdJbnQodm0sIHZtLmJpZ0ludFN0cnVjdHVyZS5nZXQoKSwgbGVuZ3RoKTsKICAgICBi
aWdJbnQtPmZpbmlzaENyZWF0aW9uKHZtKTsKQEAgLTIyMyw3ICsyMjMsNyBAQCBKU0JpZ0ludCog
SlNCaWdJbnQ6OnBhcnNlSW50KEV4ZWNTdGF0ZSogc3RhdGUsIFZNJiB2bSwgU3RyaW5nVmlldyBz
LCB1aW50OF90IHJhZAogICAgIHJldHVybiBwYXJzZUludChzdGF0ZSwgdm0sIHMuY2hhcmFjdGVy
czE2KCksIHMubGVuZ3RoKCksIDAsIHJhZGl4LCBmYWxzZSk7CiB9CiAKLVN0cmluZyBKU0JpZ0lu
dDo6dG9TdHJpbmcoRXhlY1N0YXRlJiBzdGF0ZSwgdW5zaWduZWQgcmFkaXgpCitTdHJpbmcgSlNC
aWdJbnQ6OnRvU3RyaW5nKEV4ZWNTdGF0ZSYgc3RhdGUsIGludCByYWRpeCkKIHsKICAgICBpZiAo
dGhpcy0+aXNaZXJvKCkpCiAgICAgICAgIHJldHVybiBzdGF0ZS52bSgpLnNtYWxsU3RyaW5ncy5z
aW5nbGVDaGFyYWN0ZXJTdHJpbmdSZXAoJzAnKTsKQEAgLTI0NiwyNiArMjQ2LDYgQEAgdm9pZCBK
U0JpZ0ludDo6aW5wbGFjZU11bHRpcGx5QWRkKHVpbnRwdHJfdCBmYWN0b3IsIHVpbnRwdHJfdCBz
dW1tYW5kKQogICAgIGludGVybmFsTXVsdGlwbHlBZGQodGhpcywgZmFjdG9yLCBzdW1tYW5kLCBs
ZW5ndGgoKSwgdGhpcyk7CiB9CiAKLUpTQmlnSW50KiBKU0JpZ0ludDo6bXVsdGlwbHkoRXhlY1N0
YXRlKiBzdGF0ZSwgSlNCaWdJbnQqIHgsIEpTQmlnSW50KiB5KQotewotICAgIFZNJiB2bSA9IHN0
YXRlLT52bSgpOwotCi0gICAgaWYgKHgtPmlzWmVybygpKQotICAgICAgICByZXR1cm4geDsKLSAg
ICBpZiAoeS0+aXNaZXJvKCkpCi0gICAgICAgIHJldHVybiB5OwotCi0gICAgdW5zaWduZWQgcmVz
dWx0TGVuZ3RoID0geC0+bGVuZ3RoKCkgKyB5LT5sZW5ndGgoKTsKLSAgICBKU0JpZ0ludCogcmVz
dWx0ID0gSlNCaWdJbnQ6OmNyZWF0ZVdpdGhMZW5ndGgodm0sIHJlc3VsdExlbmd0aCk7Ci0gICAg
cmVzdWx0LT5pbml0aWFsaXplKEluaXRpYWxpemF0aW9uVHlwZTo6V2l0aFplcm8pOwotCi0gICAg
Zm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHgtPmxlbmd0aCgpOyBpKyspCi0gICAgICAgIG11bHRp
cGx5QWNjdW11bGF0ZSh5LCB4LT5kaWdpdChpKSwgcmVzdWx0LCBpKTsKLQotICAgIHJlc3VsdC0+
c2V0U2lnbih4LT5zaWduKCkgIT0geS0+c2lnbigpKTsKLSAgICByZXR1cm4gcmVzdWx0LT5yaWdo
dFRyaW0odm0pOwotfQotCiAjaWYgVVNFKEpTVkFMVUUzMl82NCkKICNkZWZpbmUgSEFWRV9UV09f
RElHSVQgMQogdHlwZWRlZiB1aW50NjRfdCBUd29EaWdpdDsKQEAgLTM5OCw5ICszNzgsOSBAQCBK
U0JpZ0ludDo6RGlnaXQgSlNCaWdJbnQ6OmRpZ2l0RGl2KERpZ2l0IGhpZ2gsIERpZ2l0IGxvdywg
RGlnaXQgZGl2aXNvciwgRGlnaXQmCiAgICAgc3RhdGljIGNvbnN0IERpZ2l0IGtIYWxmRGlnaXRC
YXNlID0gMXVsbCA8PCBoYWxmRGlnaXRCaXRzOwogICAgIC8vIEFkYXB0ZWQgZnJvbSBXYXJyZW4s
IEhhY2tlcidzIERlbGlnaHQsIHAuIDE1Mi4KICNpZiBVU0UoSlNWQUxVRTY0KQotICAgIHVuc2ln
bmVkIHMgPSBjbHo2NChkaXZpc29yKTsKKyAgICBpbnQgcyA9IGNsejY0KGRpdmlzb3IpOwogI2Vs
c2UKLSAgICB1bnNpZ25lZCBzID0gY2x6MzIoZGl2aXNvcik7CisgICAgaW50IHMgPSBjbHozMihk
aXZpc29yKTsKICNlbmRpZgogICAgIGRpdmlzb3IgPDw9IHM7CiAgICAgCkBAIC00NDMsMTQgKzQy
MywxNCBAQCBKU0JpZ0ludDo6RGlnaXQgSlNCaWdJbnQ6OmRpZ2l0RGl2KERpZ2l0IGhpZ2gsIERp
Z2l0IGxvdywgRGlnaXQgZGl2aXNvciwgRGlnaXQmCiAKIC8vIE11bHRpcGxpZXMge3NvdXJjZX0g
d2l0aCB7ZmFjdG9yfSBhbmQgYWRkcyB7c3VtbWFuZH0gdG8gdGhlIHJlc3VsdC4KIC8vIHtyZXN1
bHR9IGFuZCB7c291cmNlfSBtYXkgYmUgdGhlIHNhbWUgQmlnSW50IGZvciBpbnBsYWNlIG1vZGlm
aWNhdGlvbi4KLXZvaWQgSlNCaWdJbnQ6OmludGVybmFsTXVsdGlwbHlBZGQoSlNCaWdJbnQqIHNv
dXJjZSwgRGlnaXQgZmFjdG9yLCBEaWdpdCBzdW1tYW5kLCB1bnNpZ25lZCBuLCBKU0JpZ0ludCog
cmVzdWx0KQordm9pZCBKU0JpZ0ludDo6aW50ZXJuYWxNdWx0aXBseUFkZChKU0JpZ0ludCogc291
cmNlLCBEaWdpdCBmYWN0b3IsIERpZ2l0IHN1bW1hbmQsIGludCBuLCBKU0JpZ0ludCogcmVzdWx0
KQogewogICAgIEFTU0VSVChzb3VyY2UtPmxlbmd0aCgpID49IG4pOwogICAgIEFTU0VSVChyZXN1
bHQtPmxlbmd0aCgpID49IG4pOwogCiAgICAgRGlnaXQgY2FycnkgPSBzdW1tYW5kOwogICAgIERp
Z2l0IGhpZ2ggPSAwOwotICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBuOyBpKyspIHsKKyAg
ICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykgewogICAgICAgICBEaWdpdCBjdXJyZW50ID0g
c291cmNlLT5kaWdpdChpKTsKICAgICAgICAgRGlnaXQgbmV3Q2FycnkgPSAwOwogCkBAIC00Nzgs
NDkgKzQ1OCw2IEBAIHZvaWQgSlNCaWdJbnQ6OmludGVybmFsTXVsdGlwbHlBZGQoSlNCaWdJbnQq
IHNvdXJjZSwgRGlnaXQgZmFjdG9yLCBEaWdpdCBzdW1tYW5kCiAgICAgICAgIEFTU0VSVCghKGNh
cnJ5ICsgaGlnaCkpOwogfQogCi0vLyBNdWx0aXBsaWVzIHttdWx0aXBsaWNhbmR9IHdpdGgge211
bHRpcGxpZXJ9IGFuZCBhZGRzIHRoZSByZXN1bHQgdG8KLS8vIHthY2N1bXVsYXRvcn0sIHN0YXJ0
aW5nIGF0IHthY2N1bXVsYXRvckluZGV4fSBmb3IgdGhlIGxlYXN0LXNpZ25pZmljYW50Ci0vLyBk
aWdpdC4KLS8vIENhbGxlcnMgbXVzdCBlbnN1cmUgdGhhdCB7YWNjdW11bGF0b3J9IGlzIGJpZyBl
bm91Z2ggdG8gaG9sZCB0aGUgcmVzdWx0Lgotdm9pZCBKU0JpZ0ludDo6bXVsdGlwbHlBY2N1bXVs
YXRlKEpTQmlnSW50KiBtdWx0aXBsaWNhbmQsIERpZ2l0IG11bHRpcGxpZXIsIEpTQmlnSW50KiBh
Y2N1bXVsYXRvciwgdW5zaWduZWQgYWNjdW11bGF0b3JJbmRleCkKLXsKLSAgICBBU1NFUlQoYWNj
dW11bGF0b3ItPmxlbmd0aCgpID4gbXVsdGlwbGljYW5kLT5sZW5ndGgoKSArIGFjY3VtdWxhdG9y
SW5kZXgpOwotICAgIGlmICghbXVsdGlwbGllcikKLSAgICAgICAgcmV0dXJuOwotICAgIAotICAg
IERpZ2l0IGNhcnJ5ID0gMDsKLSAgICBEaWdpdCBoaWdoID0gMDsKLSAgICBmb3IgKHVuc2lnbmVk
IGkgPSAwOyBpIDwgbXVsdGlwbGljYW5kLT5sZW5ndGgoKTsgaSsrLCBhY2N1bXVsYXRvckluZGV4
KyspIHsKLSAgICAgICAgRGlnaXQgYWNjID0gYWNjdW11bGF0b3ItPmRpZ2l0KGFjY3VtdWxhdG9y
SW5kZXgpOwotICAgICAgICBEaWdpdCBuZXdDYXJyeSA9IDA7Ci0gICAgICAgIAotICAgICAgICAv
LyBBZGQgbGFzdCByb3VuZCdzIGNhcnJ5b3ZlcnMuCi0gICAgICAgIGFjYyA9IGRpZ2l0QWRkKGFj
YywgaGlnaCwgbmV3Q2FycnkpOwotICAgICAgICBhY2MgPSBkaWdpdEFkZChhY2MsIGNhcnJ5LCBu
ZXdDYXJyeSk7Ci0gICAgICAgIAotICAgICAgICAvLyBDb21wdXRlIHRoaXMgcm91bmQncyBtdWx0
aXBsaWNhdGlvbi4KLSAgICAgICAgRGlnaXQgbXVsdGlwbGljYW5kRGlnaXQgPSBtdWx0aXBsaWNh
bmQtPmRpZ2l0KGkpOwotICAgICAgICBEaWdpdCBsb3cgPSBkaWdpdE11bChtdWx0aXBsaWVyLCBt
dWx0aXBsaWNhbmREaWdpdCwgaGlnaCk7Ci0gICAgICAgIGFjYyA9IGRpZ2l0QWRkKGFjYywgbG93
LCBuZXdDYXJyeSk7Ci0gICAgICAgIAotICAgICAgICAvLyBTdG9yZSByZXN1bHQgYW5kIHByZXBh
cmUgZm9yIG5leHQgcm91bmQuCi0gICAgICAgIGFjY3VtdWxhdG9yLT5zZXREaWdpdChhY2N1bXVs
YXRvckluZGV4LCBhY2MpOwotICAgICAgICBjYXJyeSA9IG5ld0NhcnJ5OwotICAgIH0KLSAgICAK
LSAgICB3aGlsZSAoY2FycnkgfHwgaGlnaCkgewotICAgICAgICBBU1NFUlQoYWNjdW11bGF0b3JJ
bmRleCA8IGFjY3VtdWxhdG9yLT5sZW5ndGgoKSk7Ci0gICAgICAgIERpZ2l0IGFjYyA9IGFjY3Vt
dWxhdG9yLT5kaWdpdChhY2N1bXVsYXRvckluZGV4KTsKLSAgICAgICAgRGlnaXQgbmV3Q2Fycnkg
PSAwOwotICAgICAgICBhY2MgPSBkaWdpdEFkZChhY2MsIGhpZ2gsIG5ld0NhcnJ5KTsKLSAgICAg
ICAgaGlnaCA9IDA7Ci0gICAgICAgIGFjYyA9IGRpZ2l0QWRkKGFjYywgY2FycnksIG5ld0NhcnJ5
KTsKLSAgICAgICAgYWNjdW11bGF0b3ItPnNldERpZ2l0KGFjY3VtdWxhdG9ySW5kZXgsIGFjYyk7
Ci0gICAgICAgIGNhcnJ5ID0gbmV3Q2Fycnk7Ci0gICAgICAgIGFjY3VtdWxhdG9ySW5kZXgrKzsK
LSAgICB9Ci19Ci0KIGJvb2wgSlNCaWdJbnQ6OmVxdWFscyhKU0JpZ0ludCogeCwgSlNCaWdJbnQq
IHkpCiB7CiAgICAgaWYgKHgtPnNpZ24oKSAhPSB5LT5zaWduKCkpCkBAIC01MjksNyArNDY2LDcg
QEAgYm9vbCBKU0JpZ0ludDo6ZXF1YWxzKEpTQmlnSW50KiB4LCBKU0JpZ0ludCogeSkKICAgICBp
ZiAoeC0+bGVuZ3RoKCkgIT0geS0+bGVuZ3RoKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAot
ICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCB4LT5sZW5ndGgoKTsgaSsrKSB7CisgICAgZm9y
IChpbnQgaSA9IDA7IGkgPCB4LT5sZW5ndGgoKTsgaSsrKSB7CiAgICAgICAgIGlmICh4LT5kaWdp
dChpKSAhPSB5LT5kaWdpdChpKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CkBA
IC01NTcsNyArNDk0LDcgQEAgdm9pZCBKU0JpZ0ludDo6YWJzb2x1dGVEaXZTbWFsbChFeGVjU3Rh
dGUmIHN0YXRlLCBKU0JpZ0ludCogeCwgRGlnaXQgZGl2aXNvciwgSlMKICAgICAgICAgcmV0dXJu
OwogICAgIH0KIAotICAgIHVuc2lnbmVkIGxlbmd0aCA9IHgtPmxlbmd0aCgpOworICAgIGludCBs
ZW5ndGggPSB4LT5sZW5ndGgoKTsKICAgICBpZiAocXVvdGllbnQgIT0gbnVsbHB0cikgewogICAg
ICAgICBpZiAoKnF1b3RpZW50ID09IG51bGxwdHIpCiAgICAgICAgICAgICAqcXVvdGllbnQgPSBK
U0JpZ0ludDo6Y3JlYXRlV2l0aExlbmd0aCh2bSwgbGVuZ3RoKTsKQEAgLTU4NCwxNCArNTIxLDE0
IEBAIGNvbnN0ZXhwciB1aW50OF90IG1heEJpdHNQZXJDaGFyVGFibGVbXSA9IHsKICAgICAxNjIs
IDE2MywgMTY1LCAxNjYsICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDMzLi4zNgogfTsKIAot
c3RhdGljIGNvbnN0IHVuc2lnbmVkIGJpdHNQZXJDaGFyVGFibGVTaGlmdCA9IDU7CitzdGF0aWMg
Y29uc3QgaW50IGJpdHNQZXJDaGFyVGFibGVTaGlmdCA9IDU7CiBzdGF0aWMgY29uc3Qgc2l6ZV90
IGJpdHNQZXJDaGFyVGFibGVNdWx0aXBsaWVyID0gMXUgPDwgYml0c1BlckNoYXJUYWJsZVNoaWZ0
OwogCiAvLyBDb21wdXRlIChhbiBvdmVyYXBwcm94aW1hdGlvbiBvZikgdGhlIGxlbmd0aCBvZiB0
aGUgcmVzdWx0aW5nIHN0cmluZzoKIC8vIERpdmlkZSBiaXQgbGVuZ3RoIG9mIHRoZSBCaWdJbnQg
YnkgYml0cyByZXByZXNlbnRhYmxlIHBlciBjaGFyYWN0ZXIuCi11aW50NjRfdCBKU0JpZ0ludDo6
Y2FsY3VsYXRlTWF4aW11bUNoYXJhY3RlcnNSZXF1aXJlZCh1bnNpZ25lZCBsZW5ndGgsIHVuc2ln
bmVkIHJhZGl4LCBEaWdpdCBsYXN0RGlnaXQsIGJvb2wgc2lnbikKK3VpbnQ2NF90IEpTQmlnSW50
OjpjYWxjdWxhdGVNYXhpbXVtQ2hhcmFjdGVyc1JlcXVpcmVkKGludCBsZW5ndGgsIGludCByYWRp
eCwgRGlnaXQgbGFzdERpZ2l0LCBib29sIHNpZ24pCiB7Ci0gICAgdW5zaWduZWQgbGVhZGluZ1pl
cm9zOworICAgIGludCBsZWFkaW5nWmVyb3M7CiAgICAgaWYgKHNpemVvZihsYXN0RGlnaXQpID09
IDgpCiAgICAgICAgIGxlYWRpbmdaZXJvcyA9IGNsejY0KGxhc3REaWdpdCk7CiAgICAgZWxzZQpA
QCAtNjE5LDcgKzU1Niw3IEBAIHVpbnQ2NF90IEpTQmlnSW50OjpjYWxjdWxhdGVNYXhpbXVtQ2hh
cmFjdGVyc1JlcXVpcmVkKHVuc2lnbmVkIGxlbmd0aCwgdW5zaWduZWQKICAgICByZXR1cm4gbWF4
aW11bUNoYXJhY3RlcnNSZXF1aXJlZDsKIH0KIAotU3RyaW5nIEpTQmlnSW50Ojp0b1N0cmluZ0dl
bmVyaWMoRXhlY1N0YXRlJiBzdGF0ZSwgSlNCaWdJbnQqIHgsIHVuc2lnbmVkIHJhZGl4KQorU3Ry
aW5nIEpTQmlnSW50Ojp0b1N0cmluZ0dlbmVyaWMoRXhlY1N0YXRlJiBzdGF0ZSwgSlNCaWdJbnQq
IHgsIGludCByYWRpeCkKIHsKICAgICAvLyBGSVhNRTogW0pTQ10gUmV2aXNpdCB1c2FnZSBvZiBT
dHJpbmdWZWN0b3IgaW50byBKU0JpZ0ludDo6dG9TdHJpbmcKICAgICAvLyBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgwNjcKQEAgLTYyOCw3ICs1NjUsNyBAQCBTdHJp
bmcgSlNCaWdJbnQ6OnRvU3RyaW5nR2VuZXJpYyhFeGVjU3RhdGUmIHN0YXRlLCBKU0JpZ0ludCog
eCwgdW5zaWduZWQgcmFkaXgpCiAgICAgQVNTRVJUKHJhZGl4ID49IDIgJiYgcmFkaXggPD0gMzYp
OwogICAgIEFTU0VSVCgheC0+aXNaZXJvKCkpOwogCi0gICAgdW5zaWduZWQgbGVuZ3RoID0geC0+
bGVuZ3RoKCk7CisgICAgaW50IGxlbmd0aCA9IHgtPmxlbmd0aCgpOwogICAgIGJvb2wgc2lnbiA9
IHgtPnNpZ24oKTsKIAogICAgIHVpbnQ4X3QgbWF4Qml0c1BlckNoYXIgPSBtYXhCaXRzUGVyQ2hh
clRhYmxlW3JhZGl4XTsKQEAgLTY0NCwxMiArNTgxLDEyIEBAIFN0cmluZyBKU0JpZ0ludDo6dG9T
dHJpbmdHZW5lcmljKEV4ZWNTdGF0ZSYgc3RhdGUsIEpTQmlnSW50KiB4LCB1bnNpZ25lZCByYWRp
eCkKICAgICBpZiAobGVuZ3RoID09IDEpCiAgICAgICAgIGxhc3REaWdpdCA9IHgtPmRpZ2l0KDAp
OwogICAgIGVsc2UgewotICAgICAgICB1bnNpZ25lZCBjaHVua0NoYXJzID0gZGlnaXRCaXRzICog
Yml0c1BlckNoYXJUYWJsZU11bHRpcGxpZXIgLyBtYXhCaXRzUGVyQ2hhcjsKKyAgICAgICAgaW50
IGNodW5rQ2hhcnMgPSBkaWdpdEJpdHMgKiBiaXRzUGVyQ2hhclRhYmxlTXVsdGlwbGllciAvIG1h
eEJpdHNQZXJDaGFyOwogICAgICAgICBEaWdpdCBjaHVua0Rpdmlzb3IgPSBkaWdpdFBvdyhyYWRp
eCwgY2h1bmtDaGFycyk7CiAKICAgICAgICAgLy8gQnkgY29uc3RydWN0aW9uIG9mIGNodW5rQ2hh
cnMsIHRoZXJlIGNhbid0IGhhdmUgYmVlbiBvdmVyZmxvdy4KICAgICAgICAgQVNTRVJUKGNodW5r
RGl2aXNvcik7Ci0gICAgICAgIHVuc2lnbmVkIG5vblplcm9EaWdpdCA9IGxlbmd0aCAtIDE7Cisg
ICAgICAgIGludCBub25aZXJvRGlnaXQgPSBsZW5ndGggLSAxOwogICAgICAgICBBU1NFUlQoeC0+
ZGlnaXQobm9uWmVyb0RpZ2l0KSk7CiAKICAgICAgICAgLy8ge3Jlc3R9IGhvbGRzIHRoZSBwYXJ0
IG9mIHRoZSBCaWdJbnQgdGhhdCB3ZSBoYXZlbid0IGxvb2tlZCBhdCB5ZXQuCkBAIC02NjUsNyAr
NjAyLDcgQEAgU3RyaW5nIEpTQmlnSW50Ojp0b1N0cmluZ0dlbmVyaWMoRXhlY1N0YXRlJiBzdGF0
ZSwgSlNCaWdJbnQqIHgsIHVuc2lnbmVkIHJhZGl4KQogICAgICAgICAgICAgQVNTRVJUKHJlc3Qp
OwogCiAgICAgICAgICAgICBkaXZpZGVuZCA9ICZyZXN0OwotICAgICAgICAgICAgZm9yICh1bnNp
Z25lZCBpID0gMDsgaSA8IGNodW5rQ2hhcnM7IGkrKykgeworICAgICAgICAgICAgZm9yIChpbnQg
aSA9IDA7IGkgPCBjaHVua0NoYXJzOyBpKyspIHsKICAgICAgICAgICAgICAgICByZXN1bHRTdHJp
bmcuYXBwZW5kKHJhZGl4RGlnaXRzW2NodW5rICUgcmFkaXhdKTsKICAgICAgICAgICAgICAgICBj
aHVuayAvPSByYWRpeDsKICAgICAgICAgICAgIH0KQEAgLTY5MCw3ICs2MjcsNyBAQCBTdHJpbmcg
SlNCaWdJbnQ6OnRvU3RyaW5nR2VuZXJpYyhFeGVjU3RhdGUmIHN0YXRlLCBKU0JpZ0ludCogeCwg
dW5zaWduZWQgcmFkaXgpCiAgICAgQVNTRVJUKHJlc3VsdFN0cmluZy5zaXplKCkgPD0gc3RhdGlj
X2Nhc3Q8c2l6ZV90PihtYXhpbXVtQ2hhcmFjdGVyc1JlcXVpcmVkKSk7CiAKICAgICAvLyBSZW1v
dmUgbGVhZGluZyB6ZXJvZXMuCi0gICAgdW5zaWduZWQgbmV3U2l6ZU5vTGVhZGluZ1plcm9lcyA9
IHJlc3VsdFN0cmluZy5zaXplKCk7CisgICAgaW50IG5ld1NpemVOb0xlYWRpbmdaZXJvZXMgPSBy
ZXN1bHRTdHJpbmcuc2l6ZSgpOwogICAgIHdoaWxlIChuZXdTaXplTm9MZWFkaW5nWmVyb2VzICA+
IDEgJiYgcmVzdWx0U3RyaW5nW25ld1NpemVOb0xlYWRpbmdaZXJvZXMgLSAxXSA9PSAnMCcpCiAg
ICAgICAgIG5ld1NpemVOb0xlYWRpbmdaZXJvZXMtLTsKIApAQCAtNzA5LDE2ICs2NDYsMTQgQEAg
SlNCaWdJbnQqIEpTQmlnSW50OjpyaWdodFRyaW0oVk0mIHZtKQogICAgIGlmIChpc1plcm8oKSkK
ICAgICAgICAgcmV0dXJuIHRoaXM7CiAKLSAgICBBU1NFUlQobV9sZW5ndGgpOwotCiAgICAgaW50
IG5vblplcm9JbmRleCA9IG1fbGVuZ3RoIC0gMTsKICAgICB3aGlsZSAobm9uWmVyb0luZGV4ID49
IDAgJiYgIWRpZ2l0KG5vblplcm9JbmRleCkpCiAgICAgICAgIG5vblplcm9JbmRleC0tOwogCi0g
ICAgaWYgKG5vblplcm9JbmRleCA9PSBzdGF0aWNfY2FzdDxpbnQ+KG1fbGVuZ3RoIC0gMSkpCisg
ICAgaWYgKG5vblplcm9JbmRleCA9PSBtX2xlbmd0aCAtIDEpCiAgICAgICAgIHJldHVybiB0aGlz
OwogCi0gICAgdW5zaWduZWQgbmV3TGVuZ3RoID0gbm9uWmVyb0luZGV4ICsgMTsKKyAgICBpbnQg
bmV3TGVuZ3RoID0gbm9uWmVyb0luZGV4ICsgMTsKICAgICBKU0JpZ0ludCogdHJpbW1lZEJpZ0lu
dCA9IGNyZWF0ZVdpdGhMZW5ndGgodm0sIG5ld0xlbmd0aCk7CiAgICAgUkVMRUFTRV9BU1NFUlQo
dHJpbW1lZEJpZ0ludCk7CiAgICAgc3RkOjpjb3B5KGRhdGFTdG9yYWdlKCksIGRhdGFTdG9yYWdl
KCkgKyBuZXdMZW5ndGgsIHRyaW1tZWRCaWdJbnQtPmRhdGFTdG9yYWdlKCkpOyAKQEAgLTcyOCwx
NCArNjYzLDE0IEBAIEpTQmlnSW50KiBKU0JpZ0ludDo6cmlnaHRUcmltKFZNJiB2bSkKICAgICBy
ZXR1cm4gdHJpbW1lZEJpZ0ludDsKIH0KIAotSlNCaWdJbnQqIEpTQmlnSW50OjphbGxvY2F0ZUZv
cihFeGVjU3RhdGUqIHN0YXRlLCBWTSYgdm0sIHVuc2lnbmVkIHJhZGl4LCB1bnNpZ25lZCBjaGFy
Y291bnQpCitKU0JpZ0ludCogSlNCaWdJbnQ6OmFsbG9jYXRlRm9yKEV4ZWNTdGF0ZSogc3RhdGUs
IFZNJiB2bSwgaW50IHJhZGl4LCBpbnQgY2hhcmNvdW50KQogewogICAgIEFTU0VSVCgyIDw9IHJh
ZGl4ICYmIHJhZGl4IDw9IDM2KTsKICAgICBBU1NFUlQoY2hhcmNvdW50ID49IDApOwogCiAgICAg
c2l6ZV90IGJpdHNQZXJDaGFyID0gbWF4Qml0c1BlckNoYXJUYWJsZVtyYWRpeF07CiAgICAgc2l6
ZV90IGNoYXJzID0gY2hhcmNvdW50OwotICAgIGNvbnN0IHVuc2lnbmVkIHJvdW5kdXAgPSBiaXRz
UGVyQ2hhclRhYmxlTXVsdGlwbGllciAtIDE7CisgICAgY29uc3QgaW50IHJvdW5kdXAgPSBiaXRz
UGVyQ2hhclRhYmxlTXVsdGlwbGllciAtIDE7CiAgICAgaWYgKGNoYXJzIDw9IChzdGQ6Om51bWVy
aWNfbGltaXRzPHNpemVfdD46Om1heCgpIC0gcm91bmR1cCkgLyBiaXRzUGVyQ2hhcikgewogICAg
ICAgICBzaXplX3QgYml0c01pbiA9IGJpdHNQZXJDaGFyICogY2hhcnM7CiAKQEAgLTc0Myw3ICs2
NzgsNyBAQCBKU0JpZ0ludCogSlNCaWdJbnQ6OmFsbG9jYXRlRm9yKEV4ZWNTdGF0ZSogc3RhdGUs
IFZNJiB2bSwgdW5zaWduZWQgcmFkaXgsIHVuc2lnbgogICAgICAgICBiaXRzTWluID0gKGJpdHNN
aW4gKyByb3VuZHVwKSA+PiBiaXRzUGVyQ2hhclRhYmxlU2hpZnQ7CiAgICAgICAgIGlmIChiaXRz
TWluIDw9IHN0YXRpY19jYXN0PHNpemVfdD4obWF4SW50KSkgewogICAgICAgICAgICAgLy8gRGl2
aWRlIGJ5IGtEaWdpdHNCaXRzLCByb3VuZGluZyB1cC4KLSAgICAgICAgICAgIHVuc2lnbmVkIGxl
bmd0aCA9IChiaXRzTWluICsgZGlnaXRCaXRzIC0gMSkgLyBkaWdpdEJpdHM7CisgICAgICAgICAg
ICBpbnQgbGVuZ3RoID0gKHN0YXRpY19jYXN0PGludD4oYml0c01pbikgKyBkaWdpdEJpdHMgLSAx
KSAvIGRpZ2l0Qml0czsKICAgICAgICAgICAgIGlmIChsZW5ndGggPD0gbWF4TGVuZ3RoKSB7CiAg
ICAgICAgICAgICAgICAgSlNCaWdJbnQqIHJlc3VsdCA9IEpTQmlnSW50OjpjcmVhdGVXaXRoTGVu
Z3RoKHZtLCBsZW5ndGgpOwogICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CkBAIC03ODQs
MTEgKzcxOSwxMSBAQCBzaXplX3QgSlNCaWdJbnQ6Om9mZnNldE9mRGF0YSgpCiB9CiAKIHRlbXBs
YXRlIDx0eXBlbmFtZSBDaGFyVHlwZT4KLUpTQmlnSW50KiBKU0JpZ0ludDo6cGFyc2VJbnQoRXhl
Y1N0YXRlKiBzdGF0ZSwgQ2hhclR5cGUqICBkYXRhLCB1bnNpZ25lZCBsZW5ndGgpCitKU0JpZ0lu
dCogSlNCaWdJbnQ6OnBhcnNlSW50KEV4ZWNTdGF0ZSogc3RhdGUsIENoYXJUeXBlKiAgZGF0YSwg
aW50IGxlbmd0aCkKIHsKICAgICBWTSYgdm0gPSBzdGF0ZS0+dm0oKTsKIAotICAgIHVuc2lnbmVk
IHAgPSAwOworICAgIGludCBwID0gMDsKICAgICB3aGlsZSAocCA8IGxlbmd0aCAmJiBpc1N0cldo
aXRlU3BhY2UoZGF0YVtwXSkpCiAgICAgICAgICsrcDsKIApAQCAtODIzLDEwICs3NTgsMTAgQEAg
SlNCaWdJbnQqIEpTQmlnSW50OjpwYXJzZUludChFeGVjU3RhdGUqIHN0YXRlLCBDaGFyVHlwZSog
IGRhdGEsIHVuc2lnbmVkIGxlbmd0aCkKIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIENoYXJUeXBl
PgotSlNCaWdJbnQqIEpTQmlnSW50OjpwYXJzZUludChFeGVjU3RhdGUqIHN0YXRlLCBWTSYgdm0s
IENoYXJUeXBlKiBkYXRhLCB1bnNpZ25lZCBsZW5ndGgsIHVuc2lnbmVkIHN0YXJ0SW5kZXgsIHVu
c2lnbmVkIHJhZGl4LCBib29sIGFsbG93RW1wdHlTdHJpbmcpCitKU0JpZ0ludCogSlNCaWdJbnQ6
OnBhcnNlSW50KEV4ZWNTdGF0ZSogc3RhdGUsIFZNJiB2bSwgQ2hhclR5cGUqIGRhdGEsIGludCBs
ZW5ndGgsIGludCBzdGFydEluZGV4LCBpbnQgcmFkaXgsIGJvb2wgYWxsb3dFbXB0eVN0cmluZykK
IHsKICAgICBBU1NFUlQobGVuZ3RoID49IDApOwotICAgIHVuc2lnbmVkIHAgPSBzdGFydEluZGV4
OworICAgIGludCBwID0gc3RhcnRJbmRleDsKIAogICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RI
Uk9XX1NDT1BFKHZtKTsKIApAQCAtODQyLDcgKzc3Nyw3IEBAIEpTQmlnSW50KiBKU0JpZ0ludDo6
cGFyc2VJbnQoRXhlY1N0YXRlKiBzdGF0ZSwgVk0mIHZtLCBDaGFyVHlwZSogZGF0YSwgdW5zaWdu
ZWQKIAogICAgIGludCBlbmRJbmRleCA9IGxlbmd0aCAtIDE7CiAgICAgLy8gUmVtb3ZpbmcgdHJh
aWxpbmcgc3BhY2VzCi0gICAgd2hpbGUgKGVuZEluZGV4ID49IHN0YXRpY19jYXN0PGludD4ocCkg
JiYgaXNTdHJXaGl0ZVNwYWNlKGRhdGFbZW5kSW5kZXhdKSkKKyAgICB3aGlsZSAoZW5kSW5kZXgg
Pj0gcCAmJiBpc1N0cldoaXRlU3BhY2UoZGF0YVtlbmRJbmRleF0pKQogICAgICAgICAtLWVuZElu
ZGV4OwogCiAgICAgbGVuZ3RoID0gZW5kSW5kZXggKyAxOwpAQCAtODUwLDE2ICs3ODUsMTYgQEAg
SlNCaWdJbnQqIEpTQmlnSW50OjpwYXJzZUludChFeGVjU3RhdGUqIHN0YXRlLCBWTSYgdm0sIENo
YXJUeXBlKiBkYXRhLCB1bnNpZ25lZAogICAgIGlmIChwID09IGxlbmd0aCkKICAgICAgICAgcmV0
dXJuIGNyZWF0ZVplcm8odm0pOwogCi0gICAgdW5zaWduZWQgbGltaXQwID0gJzAnICsgKHJhZGl4
IDwgMTAgPyByYWRpeCA6IDEwKTsKLSAgICB1bnNpZ25lZCBsaW1pdGEgPSAnYScgKyAocmFkaXgg
LSAxMCk7Ci0gICAgdW5zaWduZWQgbGltaXRBID0gJ0EnICsgKHJhZGl4IC0gMTApOworICAgIGlu
dCBsaW1pdDAgPSAnMCcgKyAocmFkaXggPCAxMCA/IHJhZGl4IDogMTApOworICAgIGludCBsaW1p
dGEgPSAnYScgKyAocmFkaXggLSAxMCk7CisgICAgaW50IGxpbWl0QSA9ICdBJyArIChyYWRpeCAt
IDEwKTsKIAogICAgIEpTQmlnSW50KiByZXN1bHQgPSBhbGxvY2F0ZUZvcihzdGF0ZSwgdm0sIHJh
ZGl4LCBsZW5ndGggLSBwKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBudWxscHRy
KTsKIAogICAgIHJlc3VsdC0+aW5pdGlhbGl6ZShJbml0aWFsaXphdGlvblR5cGU6OldpdGhaZXJv
KTsKIAotICAgIGZvciAodW5zaWduZWQgaSA9IHA7IGkgPCBsZW5ndGg7IGkrKywgcCsrKSB7Cisg
ICAgZm9yIChpbnQgaSA9IHA7IGkgPCBsZW5ndGg7IGkrKywgcCsrKSB7CiAgICAgICAgIHVpbnQz
Ml90IGRpZ2l0OwogICAgICAgICBpZiAoZGF0YVtpXSA+PSAnMCcgJiYgZGF0YVtpXSA8IGxpbWl0
MCkKICAgICAgICAgICAgIGRpZ2l0ID0gZGF0YVtpXSAtICcwJzsKQEAgLTg4NywxMyArODIyLDEz
IEBAIEpTQmlnSW50OjpEaWdpdCogSlNCaWdJbnQ6OmRhdGFTdG9yYWdlKCkKICAgICByZXR1cm4g
cmVpbnRlcnByZXRfY2FzdDxEaWdpdCo+KHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KHRoaXMpICsg
b2Zmc2V0T2ZEYXRhKCkpOwogfQogCi1KU0JpZ0ludDo6RGlnaXQgSlNCaWdJbnQ6OmRpZ2l0KHVu
c2lnbmVkIG4pCitKU0JpZ0ludDo6RGlnaXQgSlNCaWdJbnQ6OmRpZ2l0KGludCBuKQogewogICAg
IEFTU0VSVChuID49IDAgJiYgbiA8IGxlbmd0aCgpKTsKICAgICByZXR1cm4gZGF0YVN0b3JhZ2Uo
KVtuXTsKIH0KIAotdm9pZCBKU0JpZ0ludDo6c2V0RGlnaXQodW5zaWduZWQgbiwgRGlnaXQgdmFs
dWUpCit2b2lkIEpTQmlnSW50OjpzZXREaWdpdChpbnQgbiwgRGlnaXQgdmFsdWUpCiB7CiAgICAg
QVNTRVJUKG4gPj0gMCAmJiBuIDwgbGVuZ3RoKCkpOwogICAgIGRhdGFTdG9yYWdlKClbbl0gPSB2
YWx1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQmlnSW50
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0JpZ0ludC5oCmluZGV4IGViMTJj
MDA0NjZlMzU2ZmZkYWRmYTM2NjQxNGMwN2NkMDNiYzQ2ZjcuLjI5OGMzNDhjZDJiNGU1YWI1Yzky
YzdiYjc5OWEzMGYzZWJmYTYyMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTQmlnSW50LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNC
aWdJbnQuaApAQCAtNDEsNyArNDEsNyBAQCBjbGFzcyBKU0JpZ0ludCBmaW5hbCA6IHB1YmxpYyBK
U0NlbGwgewogCiBwdWJsaWM6CiAKLSAgICBKU0JpZ0ludChWTSYsIFN0cnVjdHVyZSosIHVuc2ln
bmVkIGxlbmd0aCk7CisgICAgSlNCaWdJbnQoVk0mLCBTdHJ1Y3R1cmUqLCBpbnQgbGVuZ3RoKTsK
IAogICAgIGVudW0gY2xhc3MgSW5pdGlhbGl6YXRpb25UeXBlIHsgTm9uZSwgV2l0aFplcm8gfTsK
ICAgICB2b2lkIGluaXRpYWxpemUoSW5pdGlhbGl6YXRpb25UeXBlKTsKQEAgLTQ5LDExICs0OSwx
MiBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgdmlzaXRDaGlsZHJlbihKU0NlbGwqLCBTbG90
VmlzaXRvciYpOwogCiAgICAgc3RhdGljIHNpemVfdCBlc3RpbWF0ZWRTaXplKEpTQ2VsbCopOwot
ICAgIHN0YXRpYyBzaXplX3QgYWxsb2NhdGlvblNpemUodW5zaWduZWQgbGVuZ3RoKTsKKyAgICBz
dGF0aWMgc2l6ZV90IGFsbG9jYXRpb25TaXplKGludCBsZW5ndGgpOwogCiAgICAgc3RhdGljIFN0
cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU1ZhbHVlIHBy
b3RvdHlwZSk7CisKICAgICBzdGF0aWMgSlNCaWdJbnQqIGNyZWF0ZVplcm8oVk0mKTsKLSAgICBz
dGF0aWMgSlNCaWdJbnQqIGNyZWF0ZVdpdGhMZW5ndGgoVk0mLCB1bnNpZ25lZCBsZW5ndGgpOwor
ICAgIHN0YXRpYyBKU0JpZ0ludCogY3JlYXRlV2l0aExlbmd0aChWTSYsIGludCBsZW5ndGgpOwog
CiAgICAgc3RhdGljIEpTQmlnSW50KiBjcmVhdGVGcm9tKFZNJiwgaW50MzJfdCB2YWx1ZSk7CiAg
ICAgc3RhdGljIEpTQmlnSW50KiBjcmVhdGVGcm9tKFZNJiwgdWludDMyX3QgdmFsdWUpOwpAQCAt
NjksMTQgKzcwLDE0IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFNpZ24oYm9vbCBzaWduKSB7IG1f
c2lnbiA9IHNpZ247IH0KICAgICBib29sIHNpZ24oKSBjb25zdCB7IHJldHVybiBtX3NpZ247IH0K
IAotICAgIHZvaWQgc2V0TGVuZ3RoKHVuc2lnbmVkIGxlbmd0aCkgeyBtX2xlbmd0aCA9IGxlbmd0
aDsgfQotICAgIHVuc2lnbmVkIGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fbGVuZ3RoOyB9Cisg
ICAgdm9pZCBzZXRMZW5ndGgoaW50IGxlbmd0aCkgeyBtX2xlbmd0aCA9IGxlbmd0aDsgfQorICAg
IGludCBsZW5ndGgoKSBjb25zdCB7IHJldHVybiBtX2xlbmd0aDsgfQogCiAgICAgc3RhdGljIEpT
QmlnSW50KiBwYXJzZUludChFeGVjU3RhdGUqLCBWTSYsIFN0cmluZ1ZpZXcsIHVpbnQ4X3QgcmFk
aXgpOwogICAgIHN0YXRpYyBKU0JpZ0ludCogcGFyc2VJbnQoRXhlY1N0YXRlKiwgU3RyaW5nVmll
dyk7CiAKICAgICBzdGQ6Om9wdGlvbmFsPHVpbnQ4X3Q+IHNpbmdsZURpZ2l0VmFsdWVGb3JTdHJp
bmcoKTsKLSAgICBTdHJpbmcgdG9TdHJpbmcoRXhlY1N0YXRlJiwgdW5zaWduZWQgcmFkaXgpOwor
ICAgIFN0cmluZyB0b1N0cmluZyhFeGVjU3RhdGUmLCBpbnQgcmFkaXgpOwogICAgIAogICAgIEpT
X0VYUE9SVF9QUklWQVRFIHN0YXRpYyBib29sIGVxdWFscyhKU0JpZ0ludCosIEpTQmlnSW50Kik7
CiAKQEAgLTg0LDE0ICs4NSwxMiBAQCBwdWJsaWM6CiAgICAgZG91YmxlIHRvTnVtYmVyKEV4ZWNT
dGF0ZSopIGNvbnN0OwogCiAgICAgSlNPYmplY3QqIHRvT2JqZWN0KEV4ZWNTdGF0ZSosIEpTR2xv
YmFsT2JqZWN0KikgY29uc3Q7Ci0KLSAgICBzdGF0aWMgSlNCaWdJbnQqIG11bHRpcGx5KEV4ZWNT
dGF0ZSosIEpTQmlnSW50KiB4LCBKU0JpZ0ludCogeSk7CiAgICAgCiBwcml2YXRlOgogICAgIHVz
aW5nIERpZ2l0ID0gdWludHB0cl90OwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgdW5zaWdu
ZWQgYml0c1BlckJ5dGUgPSA4OwotICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgdW5zaWduZWQg
ZGlnaXRCaXRzID0gc2l6ZW9mKERpZ2l0KSAqIGJpdHNQZXJCeXRlOwotICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgdW5zaWduZWQgaGFsZkRpZ2l0Qml0cyA9IGRpZ2l0Qml0cyAvIDI7CisgICAg
c3RhdGljIGNvbnN0ZXhwciBjb25zdCBpbnQgYml0c1BlckJ5dGUgPSA4OworICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgaW50IGRpZ2l0Qml0cyA9IHNpemVvZihEaWdpdCkgKiBiaXRzUGVyQnl0
ZTsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IGludCBoYWxmRGlnaXRCaXRzID0gZGlnaXRC
aXRzIC8gMjsKICAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IERpZ2l0IGhhbGZEaWdpdE1hc2sg
PSAoMXVsbCA8PCBoYWxmRGlnaXRCaXRzKSAtIDE7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBjb25z
dCBpbnQgbWF4SW50ID0gMHg3RkZGRkZGRjsKICAgICAKQEAgLTk5LDEzICs5OCwxMiBAQCBwcml2
YXRlOgogICAgIC8vIG1heEludCAvIGRpZ2l0Qml0cy4gSG93ZXZlciwgd2UgdXNlIGEgbG93ZXIg
bGltaXQgZm9yIG5vdywgYmVjYXVzZQogICAgIC8vIHJhaXNpbmcgaXQgbGF0ZXIgaXMgZWFzaWVy
IHRoYW4gbG93ZXJpbmcgaXQuCiAgICAgLy8gU3VwcG9ydCB1cCB0byAxIG1pbGxpb24gYml0cy4K
LSAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgbWF4TGVuZ3RoID0gMTAyNCAqIDEwMjQgLyAoc2l6
ZW9mKHZvaWQqKSAqIGJpdHNQZXJCeXRlKTsKKyAgICBzdGF0aWMgY29uc3QgaW50IG1heExlbmd0
aCA9IDEwMjQgKiAxMDI0IC8gKHNpemVvZih2b2lkKikgKiBiaXRzUGVyQnl0ZSk7CiAgICAgCi0g
ICAgc3RhdGljIHVpbnQ2NF90IGNhbGN1bGF0ZU1heGltdW1DaGFyYWN0ZXJzUmVxdWlyZWQodW5z
aWduZWQgbGVuZ3RoLCB1bnNpZ25lZCByYWRpeCwgRGlnaXQgbGFzdERpZ2l0LCBib29sIHNpZ24p
OworICAgIHN0YXRpYyB1aW50NjRfdCBjYWxjdWxhdGVNYXhpbXVtQ2hhcmFjdGVyc1JlcXVpcmVk
KGludCBsZW5ndGgsIGludCByYWRpeCwgRGlnaXQgbGFzdERpZ2l0LCBib29sIHNpZ24pOwogICAg
IAogICAgIHN0YXRpYyB2b2lkIGFic29sdXRlRGl2U21hbGwoRXhlY1N0YXRlJiwgSlNCaWdJbnQq
IHgsIERpZ2l0IGRpdmlzb3IsIEpTQmlnSW50KiogcXVvdGllbnQsIERpZ2l0JiByZW1haW5kZXIp
OwotICAgIHN0YXRpYyB2b2lkIGludGVybmFsTXVsdGlwbHlBZGQoSlNCaWdJbnQqIHNvdXJjZSwg
RGlnaXQgZmFjdG9yLCBEaWdpdCBzdW1tYW5kLCB1bnNpZ25lZCwgSlNCaWdJbnQqIHJlc3VsdCk7
Ci0gICAgc3RhdGljIHZvaWQgbXVsdGlwbHlBY2N1bXVsYXRlKEpTQmlnSW50KiBtdWx0aXBsaWNh
bmQsIERpZ2l0IG11bHRpcGxpZXIsIEpTQmlnSW50KiBhY2N1bXVsYXRvciwgdW5zaWduZWQgYWNj
dW11bGF0b3JJbmRleCk7CisgICAgc3RhdGljIHZvaWQgaW50ZXJuYWxNdWx0aXBseUFkZChKU0Jp
Z0ludCogc291cmNlLCBEaWdpdCBmYWN0b3IsIERpZ2l0IHN1bW1hbmQsIGludCwgSlNCaWdJbnQq
IHJlc3VsdCk7CiAKICAgICAvLyBEaWdpdCBhcml0aG1ldGljIGhlbHBlcnMuCiAgICAgc3RhdGlj
IERpZ2l0IGRpZ2l0QWRkKERpZ2l0IGEsIERpZ2l0IGIsIERpZ2l0JiBjYXJyeSk7CkBAIC0xMTQs
MTcgKzExMiwxNyBAQCBwcml2YXRlOgogICAgIHN0YXRpYyBEaWdpdCBkaWdpdERpdihEaWdpdCBo
aWdoLCBEaWdpdCBsb3csIERpZ2l0IGRpdmlzb3IsIERpZ2l0JiByZW1haW5kZXIpOwogICAgIHN0
YXRpYyBEaWdpdCBkaWdpdFBvdyhEaWdpdCBiYXNlLCBEaWdpdCBleHBvbmVudCk7CiAKLSAgICBz
dGF0aWMgU3RyaW5nIHRvU3RyaW5nR2VuZXJpYyhFeGVjU3RhdGUmLCBKU0JpZ0ludCosIHVuc2ln
bmVkIHJhZGl4KTsKKyAgICBzdGF0aWMgU3RyaW5nIHRvU3RyaW5nR2VuZXJpYyhFeGVjU3RhdGUm
LCBKU0JpZ0ludCosIGludCByYWRpeCk7CiAKICAgICBib29sIGlzWmVybygpOwogCiAgICAgdGVt
cGxhdGUgPHR5cGVuYW1lIENoYXJUeXBlPgotICAgIHN0YXRpYyBKU0JpZ0ludCogcGFyc2VJbnQo
RXhlY1N0YXRlKiwgQ2hhclR5cGUqICBkYXRhLCB1bnNpZ25lZCBsZW5ndGgpOworICAgIHN0YXRp
YyBKU0JpZ0ludCogcGFyc2VJbnQoRXhlY1N0YXRlKiwgQ2hhclR5cGUqICBkYXRhLCBpbnQgbGVu
Z3RoKTsKIAogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBDaGFyVHlwZT4KLSAgICBzdGF0aWMgSlNC
aWdJbnQqIHBhcnNlSW50KEV4ZWNTdGF0ZSosIFZNJiwgQ2hhclR5cGUqIGRhdGEsIHVuc2lnbmVk
IGxlbmd0aCwgdW5zaWduZWQgc3RhcnRJbmRleCwgdW5zaWduZWQgcmFkaXgsIGJvb2wgYWxsb3dF
bXB0eVN0cmluZyA9IHRydWUpOworICAgIHN0YXRpYyBKU0JpZ0ludCogcGFyc2VJbnQoRXhlY1N0
YXRlKiwgVk0mLCBDaGFyVHlwZSogZGF0YSwgaW50IGxlbmd0aCwgaW50IHN0YXJ0SW5kZXgsIGlu
dCByYWRpeCwgYm9vbCBhbGxvd0VtcHR5U3RyaW5nID0gdHJ1ZSk7CiAKLSAgICBzdGF0aWMgSlNC
aWdJbnQqIGFsbG9jYXRlRm9yKEV4ZWNTdGF0ZSosIFZNJiwgdW5zaWduZWQgcmFkaXgsIHVuc2ln
bmVkIGNoYXJjb3VudCk7CisgICAgc3RhdGljIEpTQmlnSW50KiBhbGxvY2F0ZUZvcihFeGVjU3Rh
dGUqLCBWTSYsIGludCByYWRpeCwgaW50IGNoYXJjb3VudCk7CiAKICAgICBKU0JpZ0ludCogcmln
aHRUcmltKFZNJik7CiAKQEAgLTEzMywxMCArMTMxLDEwIEBAIHByaXZhdGU6CiAgICAgc3RhdGlj
IHNpemVfdCBvZmZzZXRPZkRhdGEoKTsKICAgICBEaWdpdCogZGF0YVN0b3JhZ2UoKTsKIAotICAg
IERpZ2l0IGRpZ2l0KHVuc2lnbmVkKTsKLSAgICB2b2lkIHNldERpZ2l0KHVuc2lnbmVkLCBEaWdp
dCk7CisgICAgRGlnaXQgZGlnaXQoaW50KTsKKyAgICB2b2lkIHNldERpZ2l0KGludCwgRGlnaXQp
OwogICAgICAgICAKLSAgICB1bnNpZ25lZCBtX2xlbmd0aDsKKyAgICBpbnQgbV9sZW5ndGg7CiAg
ICAgYm9vbCBtX3NpZ247CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9PcGVyYXRpb25zLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcGVy
YXRpb25zLmgKaW5kZXggMGZiMjFiNDhkNTBlMzliMjUxZTJhYzA0YjQwYTFkM2JjMGU0YTRlMi4u
MTM0OWFlYzE2YTdhODNhOGE4YTU5MGFjZWZkNTRiMTc5Yzk3YmYxZiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3BlcmF0aW9ucy5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL09wZXJhdGlvbnMuaApAQCAtMjMsNyArMjMsNiBAQAogCiAjaW5j
bHVkZSAiQ2FsbEZyYW1lLmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uSGVscGVycy5oIgotI2luY2x1
ZGUgIkpTQmlnSW50LmgiCiAjaW5jbHVkZSAiSlNDSlNWYWx1ZS5oIgogCiBuYW1lc3BhY2UgSlND
IHsKQEAgLTI1NywzMCArMjU2LDYgQEAgQUxXQVlTX0lOTElORSBKU1ZhbHVlIGpzQWRkKENhbGxG
cmFtZSogY2FsbEZyYW1lLCBKU1ZhbHVlIHYxLCBKU1ZhbHVlIHYyKQogICAgIHJldHVybiBqc0Fk
ZFNsb3dDYXNlKGNhbGxGcmFtZSwgdjEsIHYyKTsKIH0KIAotQUxXQVlTX0lOTElORSBKU1ZhbHVl
IGpzTXVsKEV4ZWNTdGF0ZSogc3RhdGUsIEpTVmFsdWUgdjEsIEpTVmFsdWUgdjIpCi17Ci0gICAg
Vk0mIHZtID0gc3RhdGUtPnZtKCk7Ci0gICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NP
UEUodm0pOwotCi0gICAgSlNWYWx1ZSBsZWZ0TnVtYmVyID0gdjEudG9QcmltaXRpdmUoc3RhdGUs
IFByZWZlck51bWJlcik7Ci0gICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgeyB9KTsKLSAg
ICBKU1ZhbHVlIHJpZ2h0TnVtYmVyID0gdjIudG9QcmltaXRpdmUoc3RhdGUsIFByZWZlck51bWJl
cik7Ci0gICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgeyB9KTsKLQotICAgIGlmIChsZWZ0
TnVtYmVyLmlzQmlnSW50KCkgfHwgcmlnaHROdW1iZXIuaXNCaWdJbnQoKSkgewotICAgICAgICBp
ZiAobGVmdE51bWJlci5pc0JpZ0ludCgpICYmIHJpZ2h0TnVtYmVyLmlzQmlnSW50KCkpCi0gICAg
ICAgICAgICByZXR1cm4gSlNCaWdJbnQ6Om11bHRpcGx5KHN0YXRlLCBhc0JpZ0ludChsZWZ0TnVt
YmVyKSwgYXNCaWdJbnQocmlnaHROdW1iZXIpKTsKLQotICAgICAgICB0aHJvd1R5cGVFcnJvcihz
dGF0ZSwgc2NvcGUsIEFTQ0lJTGl0ZXJhbCgiSW52YWxpZCBtaXggb2YgQmlnSW50IGFuZCBvdGhl
ciB0eXBlIGluIG11bHRpcGxpY2F0aW9uLiIpKTsKLSAgICAgICAgcmV0dXJuIHsgfTsKLSAgICB9
Ci0KLSAgICBzY29wZS5yZWxlYXNlKCk7Ci0gICAgZG91YmxlIGxlZnRWYWx1ZSA9ICBsZWZ0TnVt
YmVyLnRvTnVtYmVyKHN0YXRlKTsKLSAgICBkb3VibGUgcmlnaHRWYWx1ZSA9ICByaWdodE51bWJl
ci50b051bWJlcihzdGF0ZSk7Ci0gICAgcmV0dXJuIGpzTnVtYmVyKGxlZnRWYWx1ZSAqIHJpZ2h0
VmFsdWUpOwotfQotCiBpbmxpbmUgYm9vbCBzY3JpYmJsZUZyZWVDZWxscygpCiB7CiAgICAgcmV0
dXJuICFBU1NFUlRfRElTQUJMRUQgfHwgT3B0aW9uczo6c2NyaWJibGVGcmVlQ2VsbHMoKTsKZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvQ2hhbmdlTG9nIGIvSlNUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMWJk
YjkxYzcxY2U0NGNmN2RlNjBhOGY3OTYwYWU1MzkyZmNjM2EzMy4uMTM5MmEwZGE5OGYzYTlhMTQy
OGM5N2MzZDYyNjg3OWUwNzdkNTI3NCAxMDA2NDQKLS0tIGEvSlNUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvSlNUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxOC0wNC0yOCAgQ29tbWl0
IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CisKKyAgICAgICAgVW5yZXZpZXdlZCwg
cm9sbGluZyBvdXQgcjIzMTEzMS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE4NTExMgorCisgICAgICAgIEl0IGlzIGJyZWFraW5nIERlYnVnIGJ1aWxk
IGR1ZSB0byB1bmNoZWNrZWQgZXhjZXB0aW9uCisgICAgICAgIChSZXF1ZXN0ZWQgYnkgY2Fpb2xp
bWEgb24gI3dlYmtpdCkuCisKKyAgICAgICAgUmV2ZXJ0ZWQgY2hhbmdlc2V0OgorCisgICAgICAg
ICJbRVNOZXh0XVtCaWdJbnRdIEltcGxlbWVudCBzdXBwb3J0IGZvciAiKiIgb3BlcmF0aW9uIgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgzNzIxCisg
ICAgICAgIGh0dHBzOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8yMzExMzEKKwogMjAxOC0w
NC0yNyAgQ2FpbyBMaW1hICA8dGljYWlvbGltYUBnbWFpbC5jb20+CiAKICAgICAgICAgW0VTTmV4
dF1bQmlnSW50XSBJbXBsZW1lbnQgc3VwcG9ydCBmb3IgIioiIG9wZXJhdGlvbgpkaWZmIC0tZ2l0
IGEvSlNUZXN0cy9iaWdJbnRUZXN0cy55YW1sIGIvSlNUZXN0cy9iaWdJbnRUZXN0cy55YW1sCmlu
ZGV4IGU5NDdkYzI5NDVhZGY5MGQwNzdmYzgzN2Q1NTgzYTFkMDhlM2JjOTEuLjdhZTIyY2IxYmIy
YWZmNjJjYzRkZGY0OTYyOTlmOTZhMDc0NGY3YWUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvYmlnSW50
VGVzdHMueWFtbAorKysgYi9KU1Rlc3RzL2JpZ0ludFRlc3RzLnlhbWwKQEAgLTk3LDI0ICs5Nywz
IEBACiAtIHBhdGg6IHN0cmVzcy9iaWctaW50LXRvLXN0cmluZy5qcwogICBjbWQ6IHJ1bkJpZ0lu
dEVuYWJsZWQKIAotLSBwYXRoOiBzdHJlc3MvYmlnLWludC1tdWwtaml0LmpzCi0gIGNtZDogcnVu
QmlnSW50RW5hYmxlZAotCi0tIHBhdGg6IHN0cmVzcy9iaWctaW50LW11bC10by1wcmltaXRpdmUt
cHJlY2VkZW5jZS5qcwotICBjbWQ6IHJ1bkJpZ0ludEVuYWJsZWQKLQotLSBwYXRoOiBzdHJlc3Mv
YmlnLWludC1tdWwtdG8tcHJpbWl0aXZlLmpzCi0gIGNtZDogcnVuQmlnSW50RW5hYmxlZAotCi0t
IHBhdGg6IHN0cmVzcy9iaWctaW50LW11bC10eXBlLWVycm9yLmpzCi0gIGNtZDogcnVuQmlnSW50
RW5hYmxlZAotCi0tIHBhdGg6IHN0cmVzcy9iaWctaW50LW11bC13cmFwcGVkLXZhbHVlLmpzCi0g
IGNtZDogcnVuQmlnSW50RW5hYmxlZAotCi0tIHBhdGg6IHN0cmVzcy9iaWctaW50LW11bHRpcGxp
Y2F0aW9uLmpzCi0gIGNtZDogcnVuQmlnSW50RW5hYmxlZAotCi0tIHBhdGg6IHN0cmVzcy9iaWct
aW50LW11bHRpcGx5LW1lbW9yeS1zdHJlc3MuanMKLSAgY21kOiBydW5CaWdJbnRFbmFibGVkCi0K
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvc3RyZXNzL2JpZy1pbnQtbXVsLWppdC5qcyBiL0pTVGVzdHMv
c3RyZXNzL2JpZy1pbnQtbXVsLWppdC5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MGNiZWRlMzE4NzVkMjFmYjM4MjJlN2YyOGZmMDViY2FjYTFjOWY3YS4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9KU1Rlc3RzL3N0cmVzcy9iaWctaW50LW11
bC1qaXQuanMKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi0vL0AgcnVuQmlnSW50RW5h
YmxlZAotCi1sZXQgYXNzZXJ0ID0gewotICAgIHNhbWVWYWx1ZTogZnVuY3Rpb24oaSwgZSwgbSkg
ewotICAgICAgICBpZiAoaSAhPT0gZSkKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihtKTsK
LSAgICB9Ci19Ci0KLWZ1bmN0aW9uIGJpZ0ludE11bCh4LCB5KSB7Ci0gICAgcmV0dXJuIHggKiB5
OwotfQotbm9JbmxpbmUoYmlnSW50TXVsKTsKLQotZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwMDsg
aSsrKSB7Ci0gICAgbGV0IHIgPSBiaWdJbnRNdWwoM24sIDEwbik7Ci0gICAgYXNzZXJ0LnNhbWVW
YWx1ZShyLCAzMG4sIDNuICsgIiAqICIgKyAxMG4gKyAiID0gIiArIHIpOwotfQotCmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3N0cmVzcy9iaWctaW50LW11bC10by1wcmltaXRpdmUtcHJlY2VkZW5jZS5q
cyBiL0pTVGVzdHMvc3RyZXNzL2JpZy1pbnQtbXVsLXRvLXByaW1pdGl2ZS1wcmVjZWRlbmNlLmpz
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MTQ5YTE5Njg3ZTE0YWVlNzAxM2IzNjg2
NDQ5MmU2ODJiZDVlNzVlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0pTVGVzdHMvc3RyZXNzL2JpZy1pbnQtbXVsLXRvLXByaW1pdGl2ZS1wcmVjZWRlbmNl
LmpzCisrKyAvZGV2L251bGwKQEAgLTEsMzkgKzAsMCBAQAotLy9AIHJ1bkJpZ0ludEVuYWJsZWQK
LQotYXNzZXJ0ID0gewotICAgIHNhbWVWYWx1ZTogZnVuY3Rpb24gKGlucHV0LCBleHBlY3RlZCwg
bWVzc2FnZSkgewotICAgICAgICBpZiAoaW5wdXQgIT09IGV4cGVjdGVkKQotICAgICAgICAgICAg
dGhyb3cgbmV3IEVycm9yKG1lc3NhZ2UpOwotICAgIH0KLX07Ci0KLWZ1bmN0aW9uIHRlc3RNdWwo
eCwgeSwgeiwgbWVzc2FnZSkgewotICAgIGFzc2VydC5zYW1lVmFsdWUoeCAqIHksIHosIG1lc3Nh
Z2UpOwotICAgIGFzc2VydC5zYW1lVmFsdWUoeSAqIHgsIHosIG1lc3NhZ2UpOwotfQotCi10ZXN0
TXVsKE9iamVjdCgybiksIDFuLCAybiwgIlRvUHJpbWl0aXZlOiB1bmJveCBvYmplY3Qgd2l0aCBp
bnRlcm5hbCBzbG90Iik7Ci0KLWxldCBvID0gewotICAgIFtTeW1ib2wudG9QcmltaXRpdmVdOiBm
dW5jdGlvbigpIHsKLSAgICAgICAgcmV0dXJuIDJuOwotICAgIH0sCi0gICAgdmFsdWVPZjogZnVu
Y3Rpb24gKCkgewotICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIlNob3VsZCBuZXZlciBleGVjdXRl
IGl0Iik7Ci0gICAgfSwKLSAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgewotICAgICAgICB0aHJv
dyBuZXcgRXJyb3IoIlNob3VsZCBuZXZlciBleGVjdXRlIGl0Iik7Ci0gICAgfQotfTsKLXRlc3RN
dWwobywgMW4sIDJuLCAiVG9QcmltaXRpdmU6IEBAdG9QcmltaXRpdmUiKTsKLQotbyA9IHsKLSAg
ICB2YWx1ZU9mOiBmdW5jdGlvbigpIHsKLSAgICAgICAgcmV0dXJuIDJuOwotICAgIH0sCi0gICAg
dG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsKLSAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJTaG91bGQg
bmV2ZXIgZXhlY3V0ZSBpdCIpOwotICAgIH0KLX07Ci10ZXN0TXVsKG8sIDFuLCAybiwgIlRvUHJp
bWl0aXZlOiB2YWx1ZU9mIik7Ci0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvc3RyZXNzL2JpZy1pbnQt
bXVsLXRvLXByaW1pdGl2ZS5qcyBiL0pTVGVzdHMvc3RyZXNzL2JpZy1pbnQtbXVsLXRvLXByaW1p
dGl2ZS5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjQyZTJlOGUyOTExOWUyN2Qx
MzU3N2NiNTdhYzJmOTczNTBmZTZjYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9KU1Rlc3RzL3N0cmVzcy9iaWctaW50LW11bC10by1wcmltaXRpdmUuanMK
KysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi0vL0AgcnVuQmlnSW50RW5hYmxlZAotCi1m
dW5jdGlvbiBhc3NlcnQoYSkgewotICAgIGlmICghYSkKLSAgICAgICAgdGhyb3cgbmV3IEVycm9y
KCJCYWQgYXNzZXJ0aW9uIik7Ci19Ci0KLWFzc2VydC5zYW1lVmFsdWUgPSBmdW5jdGlvbiAoaW5w
dXQsIGV4cGVjdGVkLCBtZXNzYWdlKSB7Ci0gICAgaWYgKGlucHV0ICE9PSBleHBlY3RlZCkKLSAg
ICAgICAgdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2UpOwotfQotCi1mdW5jdGlvbiB0ZXN0TXVsKHgs
IHksIHopIHsKLSAgICBhc3NlcnQuc2FtZVZhbHVlKHggKiB5LCB6LCB4ICsgIiAqICIgKyB5ICsg
IiA9ICIgKyB6KTsKLSAgICBhc3NlcnQuc2FtZVZhbHVlKHkgKiB4LCB6LCB5ICsgIiAqICIgKyB4
ICsgIiA9ICIgKyB6KTsKLX0KLQotbGV0IG8gPSB7Ci0gICAgW1N5bWJvbC50b1ByaW1pdGl2ZV06
IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDMwMDAwMDAwMDAwMDAwMG47IH0KLX0KLQotdGVzdE11bCg1
MDAwMDAwMDAwMDA0MzhuLCBvLCAxNTAwMDAwMDAwMDAxMzE0MDAwMDAwMDAwMDAwMDBuKTsKLQot
by52YWx1ZU9mID0gZnVuY3Rpb24gKCkgewotICAgIHRocm93IG5ldyBFcnJvcigiU2hvdWxkIG5l
dmVyIGV4ZWN1dGUgaXQiKTsKLX07Ci0KLXRlc3RNdWwoNzAwMDAwMDAwMDAwNDM4biwgbywgMjEw
MDAwMDAwMDAwMTMxNDAwMDAwMDAwMDAwMDAwbik7Ci0KLW8udG9TdHJpbmcgPSBmdW5jdGlvbiAo
KSB7Ci0gICAgdGhyb3cgbmV3IEVycm9yKCJTaG91bGQgbmV2ZXIgZXhlY3V0ZSBpdCIpOwotfTsK
LQotdGVzdE11bCg3MDAwMDAwMDAwMDA0MzhuLCBvLCAyMTAwMDAwMDAwMDAxMzE0MDAwMDAwMDAw
MDAwMDBuKTsKLQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvYmlnLWludC1tdWwtdHlwZS1l
cnJvci5qcyBiL0pTVGVzdHMvc3RyZXNzL2JpZy1pbnQtbXVsLXR5cGUtZXJyb3IuanMKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI1MTc4NDU3ZmI2MjM3NTdmZDBlNzczNTc3ZGMzOTZm
MmYzMGZlNjAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
SlNUZXN0cy9zdHJlc3MvYmlnLWludC1tdWwtdHlwZS1lcnJvci5qcworKysgL2Rldi9udWxsCkBA
IC0xLDEwNiArMCwwIEBACi0vL0AgcnVuQmlnSW50RW5hYmxlZAotCi1mdW5jdGlvbiBhc3NlcnQo
YSwgbWVzc2FnZSkgewotICAgIGlmICghYSkKLSAgICAgICAgdGhyb3cgbmV3IEVycm9yKG1lc3Nh
Z2UpOwotfQotCi1mdW5jdGlvbiBhc3NlcnRUaHJvd1R5cGVFcnJvcihhLCBiLCBtZXNzYWdlKSB7
Ci0gICAgdHJ5IHsKLSAgICAgICAgbGV0IG4gPSBhICogYjsKLSAgICAgICAgYXNzZXJ0KGZhbHNl
LCBtZXNzYWdlICsgIjogU2hvdWxkIHRocm93IFR5cGVFcnJvciwgYnV0IGV4ZWN1dGVkIHdpdGhv
dXQgZXhjZXB0aW9uIik7Ci0gICAgfSBjYXRjaCAoZSkgewotICAgICAgICBhc3NlcnQoZSBpbnN0
YW5jZW9mIFR5cGVFcnJvciwgbWVzc2FnZSArICI6IGV4cGVjdGVkIFR5cGVFcnJvciwgZ290OiAi
ICsgZSk7Ci0gICAgfQotfQotCi1hc3NlcnRUaHJvd1R5cGVFcnJvcigzMG4sICJmb28iLCAiQmln
SW50ICogU3RyaW5nIik7Ci1hc3NlcnRUaHJvd1R5cGVFcnJvcigiYmFyIiwgMTg3NTczODI5ODQ4
MjFuLCAiU3RyaW5nICogQmlnSW50Iik7Ci1hc3NlcnRUaHJvd1R5cGVFcnJvcigzMG4sIFN5bWJv
bCgiZm9vIiksICJCaWdJbnQgKiBTeW1ib2wiKTsKLWFzc2VydFRocm93VHlwZUVycm9yKFN5bWJv
bCgiYmFyIiksIDE4NzU3MzgyOTg0ODIxbiwgIlN5bWJvbCAqIEJpZ0ludCIpOwotYXNzZXJ0VGhy
b3dUeXBlRXJyb3IoMzBuLCAzMzIwLCAiQmlnSW50ICogSW50MzIiKTsKLWFzc2VydFRocm93VHlw
ZUVycm9yKDMzMjU2LCAxODc1NzM4Mjk4NDgyMW4sICJJbnQzMiAqIEJpZ0ludCIpOwotYXNzZXJ0
VGhyb3dUeXBlRXJyb3IoMzBuLCAwLjU0MywgIkJpZ0ludCAqIERvdWJsZSIpOwotYXNzZXJ0VGhy
b3dUeXBlRXJyb3IoMjMwLjE5MjkzLCAxODc1NzM4Mjk4NDgyMW4sICJEb3VibGUgKiBCaWdJbnQi
KTsKLWFzc2VydFRocm93VHlwZUVycm9yKDMwbiwgTmFOLCAiQmlnSW50ICogTmFOIik7Ci1hc3Nl
cnRUaHJvd1R5cGVFcnJvcihOYU4sIDE4NzU3MzgyOTg0ODIxbiwgIk5hTiAqIEJpZ0ludCIpOwot
YXNzZXJ0VGhyb3dUeXBlRXJyb3IoMzBuLCBOYU4sICJCaWdJbnQgKiBOYU4iKTsKLWFzc2VydFRo
cm93VHlwZUVycm9yKE5hTiwgMTg3NTczODI5ODQ4MjFuLCAiTmFOICogQmlnSW50Iik7Ci1hc3Nl
cnRUaHJvd1R5cGVFcnJvcigzMG4sICtJbmZpbml0eSwgIkJpZ0ludCAqIE5hTiIpOwotYXNzZXJ0
VGhyb3dUeXBlRXJyb3IoK0luZmluaXR5LCAxODc1NzM4Mjk4NDgyMW4sICJOYU4gKiBCaWdJbnQi
KTsKLWFzc2VydFRocm93VHlwZUVycm9yKDMwbiwgLUluZmluaXR5LCAiQmlnSW50ICogLUluZmlu
aXR5Iik7Ci1hc3NlcnRUaHJvd1R5cGVFcnJvcigtSW5maW5pdHksIDE4NzU3MzgyOTg0ODIxbiwg
Ii1JbmZpbml0eSAqIEJpZ0ludCIpOwotYXNzZXJ0VGhyb3dUeXBlRXJyb3IoMzBuLCBudWxsLCAi
QmlnSW50ICogbnVsbCIpOwotYXNzZXJ0VGhyb3dUeXBlRXJyb3IobnVsbCwgMTg3NTczODI5ODQ4
MjFuLCAibnVsbCAqIEJpZ0ludCIpOwotYXNzZXJ0VGhyb3dUeXBlRXJyb3IoMzBuLCB1bmRlZmlu
ZWQsICJCaWdJbnQgKiB1bmRlZmluZWQiKTsKLWFzc2VydFRocm93VHlwZUVycm9yKHVuZGVmaW5l
ZCwgMTg3NTczODI5ODQ4MjFuLCAidW5kZWZpbmVkICogQmlnSW50Iik7Ci1hc3NlcnRUaHJvd1R5
cGVFcnJvcigzMG4sIHRydWUsICJCaWdJbnQgKiB0cnVlIik7Ci1hc3NlcnRUaHJvd1R5cGVFcnJv
cih0cnVlLCAxODc1NzM4Mjk4NDgyMW4sICJ0cnVlICogQmlnSW50Iik7Ci1hc3NlcnRUaHJvd1R5
cGVFcnJvcigzMG4sIGZhbHNlLCAiQmlnSW50ICogZmFsc2UiKTsKLWFzc2VydFRocm93VHlwZUVy
cm9yKGZhbHNlLCAxODc1NzM4Mjk4NDgyMW4sICJmYWxzZSAqIEJpZ0ludCIpOwotCi0vLyBFcnJv
ciB3aGVuIHJldHVybmluZyBmcm9tIG9iamVjdAotCi1sZXQgbyA9IHsKLSAgICB2YWx1ZU9mOiBm
dW5jdGlvbiAoKSB7IHJldHVybiBTeW1ib2woIkZvbyIpOyB9Ci19OwotCi1hc3NlcnRUaHJvd1R5
cGVFcnJvcigzMG4sIG8sICJCaWdJbnQgKiBPYmplY3QudmFsdWVPZiByZXR1cm5pbmcgU3ltYm9s
Iik7Ci1hc3NlcnRUaHJvd1R5cGVFcnJvcihvLCAxODc1NzM4Mjk4NDgyMW4sICJPYmplY3QudmFs
dWVPZiByZXR1cm5pbmcgU3ltYm9sICogQmlnSW50Iik7Ci0KLW8gPSB7Ci0gICAgdmFsdWVPZjog
ZnVuY3Rpb24gKCkgeyByZXR1cm4gMzMyNTY7IH0KLX07Ci0KLWFzc2VydFRocm93VHlwZUVycm9y
KDMwbiwgbywgIkJpZ0ludCAqIE9iamVjdC52YWx1ZU9mIHJldHVybmluZyBJbnQzMiIpOwotYXNz
ZXJ0VGhyb3dUeXBlRXJyb3IobywgMTg3NTczODI5ODQ4MjFuLCAiT2JqZWN0LnZhbHVlT2YgcmV0
dXJuaW5nIEludDMyICogQmlnSW50Iik7Ci0KLW8gPSB7Ci0gICAgdmFsdWVPZjogZnVuY3Rpb24g
KCkgeyByZXR1cm4gMC40NTM7IH0KLX07Ci0KLWFzc2VydFRocm93VHlwZUVycm9yKDMwbiwgbywg
IkJpZ0ludCAqIE9iamVjdC52YWx1ZU9mIHJldHVybmluZyBEb3VibGUiKTsKLWFzc2VydFRocm93
VHlwZUVycm9yKG8sIDE4NzU3MzgyOTg0ODIxbiwgIk9iamVjdC52YWx1ZU9mIHJldHVybmluZyBE
b3VibGUgKiBCaWdJbnQiKTsKLQotbyA9IHsKLSAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgeyBy
ZXR1cm4gU3ltYm9sKCJGb28iKTsgfQotfTsKLQotYXNzZXJ0VGhyb3dUeXBlRXJyb3IoMzBuLCBv
LCAiQmlnSW50ICogT2JqZWN0LnRvU3RyaW5nIHJldHVybmluZyBTeW1ib2wiKTsKLWFzc2VydFRo
cm93VHlwZUVycm9yKG8sIDE4NzU3MzgyOTg0ODIxbiwgIk9iamVjdC50b1N0cmluZyByZXR1cm5p
bmcgU3ltYm9sICogQmlnSW50Iik7Ci0KLW8gPSB7Ci0gICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgp
IHsgcmV0dXJuIDMzMjU2OyB9Ci19OwotCi1hc3NlcnRUaHJvd1R5cGVFcnJvcigzMG4sIG8sICJC
aWdJbnQgKiBPYmplY3QudG9TdHJpbmcgcmV0dXJuaW5nIEludDMyIik7Ci1hc3NlcnRUaHJvd1R5
cGVFcnJvcihvLCAxODc1NzM4Mjk4NDgyMW4sICJPYmplY3QudG9TdHJpbmcgcmV0dXJuaW5nIElu
dDMyICogQmlnSW50Iik7Ci0KLW8gPSB7Ci0gICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsgcmV0
dXJuIDAuNDUzOyB9Ci19OwotCi1hc3NlcnRUaHJvd1R5cGVFcnJvcigzMG4sIG8sICJCaWdJbnQg
KiBPYmplY3QudG9TdHJpbmcgcmV0dXJuaW5nIERvdWJsZSIpOwotYXNzZXJ0VGhyb3dUeXBlRXJy
b3IobywgMTg3NTczODI5ODQ4MjFuLCAiT2JqZWN0LnRvU3RyaW5nIHJldHVybmluZyBEb3VibGUg
KiBCaWdJbnQiKTsKLQotbyA9IHsKLSAgICBbU3ltYm9sLnRvUHJpbWl0aXZlXTogZnVuY3Rpb24g
KCkgeyByZXR1cm4gU3ltYm9sKCJGb28iKTsgfQotfTsKLQotYXNzZXJ0VGhyb3dUeXBlRXJyb3Io
MzBuLCBvLCAiQmlnSW50ICogT2JqZWN0LkBAdG9QcmltaXRpdmUgcmV0dXJuaW5nIFN5bWJvbCIp
OwotYXNzZXJ0VGhyb3dUeXBlRXJyb3IobywgMTg3NTczODI5ODQ4MjFuLCAiT2JqZWN0LkBAdG9Q
cmltaXRpdmUgcmV0dXJuaW5nIFN5bWJvbCAqIEJpZ0ludCIpOwotCi1vID0gewotICAgIFtTeW1i
b2wudG9QcmltaXRpdmVdOiBmdW5jdGlvbiAoKSB7IHJldHVybiAzMzI1NjsgfQotfTsKLQotYXNz
ZXJ0VGhyb3dUeXBlRXJyb3IoMzBuLCBvLCAiQmlnSW50ICogT2JqZWN0LkBAdG9QcmltaXRpdmUg
cmV0dXJuaW5nIEludDMyIik7Ci1hc3NlcnRUaHJvd1R5cGVFcnJvcihvLCAxODc1NzM4Mjk4NDgy
MW4sICJPYmplY3QuQEB0b1ByaW1pdGl2ZSByZXR1cm5pbmcgSW50MzIgKiBCaWdJbnQiKTsKLQot
byA9IHsKLSAgICBbU3ltYm9sLnRvUHJpbWl0aXZlXTogZnVuY3Rpb24gKCkgeyByZXR1cm4gMC40
NTM7IH0KLX07Ci0KLWFzc2VydFRocm93VHlwZUVycm9yKDMwbiwgbywgIkJpZ0ludCAqIE9iamVj
dC5AQHRvUHJpbWl0aXZlIHJldHVybmluZyBEb3VibGUiKTsKLWFzc2VydFRocm93VHlwZUVycm9y
KG8sIDE4NzU3MzgyOTg0ODIxbiwgIk9iamVjdC5AQHRvUHJpbWl0aXZlIHJldHVybmluZyBEb3Vi
bGUgKiBCaWdJbnQiKTsKLQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvYmlnLWludC1tdWwt
d3JhcHBlZC12YWx1ZS5qcyBiL0pTVGVzdHMvc3RyZXNzL2JpZy1pbnQtbXVsLXdyYXBwZWQtdmFs
dWUuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI2NzNkOGE2MDMwMmZhZjY2ZGZh
NmNmYTFlYjEzNzBlYzhjMjJjM2EuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvSlNUZXN0cy9zdHJlc3MvYmlnLWludC1tdWwtd3JhcHBlZC12YWx1ZS5qcwor
KysgL2Rldi9udWxsCkBAIC0xLDM3ICswLDAgQEAKLS8vQCBydW5CaWdJbnRFbmFibGVkCi0KLWFz
c2VydCA9IHsKLSAgICBzYW1lVmFsdWU6IGZ1bmN0aW9uIChpbnB1dCwgZXhwZWN0ZWQsIG1lc3Nh
Z2UpIHsKLSAgICAgICAgaWYgKGlucHV0ICE9PSBleHBlY3RlZCkKLSAgICAgICAgICAgIHRocm93
IG5ldyBFcnJvcihtZXNzYWdlKTsKLSAgICB9Ci19OwotCi1mdW5jdGlvbiB0ZXN0TXVsKHgsIHks
IHosIG1lc3NhZ2UpIHsKLSAgICBhc3NlcnQuc2FtZVZhbHVlKHggKiB5LCB6LCBtZXNzYWdlKTsK
LSAgICBhc3NlcnQuc2FtZVZhbHVlKHkgKiB4LCB6LCBtZXNzYWdlKTsKLX0KLQotdGVzdE11bChP
YmplY3QoMm4pLCAxbiwgMm4sICJUb1ByaW1pdGl2ZTogdW5ib3ggb2JqZWN0IHdpdGggaW50ZXJu
YWwgc2xvdCIpOwotCi1sZXQgbyA9IHsKLSAgICBbU3ltYm9sLnRvUHJpbWl0aXZlXTogZnVuY3Rp
b24oKSB7Ci0gICAgICAgIHJldHVybiAybjsKLSAgICB9Ci19OwotdGVzdE11bChvLCAxbiwgMm4s
ICJUb1ByaW1pdGl2ZTogQEB0b1ByaW1pdGl2ZSIpOwotCi1vID0gewotICAgIHZhbHVlT2Y6IGZ1
bmN0aW9uKCkgewotICAgICAgICByZXR1cm4gMm47Ci0gICAgfQotfTsKLXRlc3RNdWwobywgMW4s
IDJuLCAiVG9QcmltaXRpdmU6IHZhbHVlT2YiKTsKLQotbyA9IHsKLSAgICB0b1N0cmluZzogZnVu
Y3Rpb24oKSB7Ci0gICAgICAgIHJldHVybiAybjsKLSAgICB9Ci19Ci10ZXN0TXVsKG8sIDFuLCAy
biwgIlRvUHJpbWl0aXZlOiB0b1N0cmluZyIpOwotCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3N0cmVz
cy9iaWctaW50LW11bHRpcGxpY2F0aW9uLmpzIGIvSlNUZXN0cy9zdHJlc3MvYmlnLWludC1tdWx0
aXBsaWNhdGlvbi5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2VjZDYzNmQ3Zjg5
YTI0YWNmYmI4MWQ3MmQ3NTVjMjI4ZmU2ZmFkOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9KU1Rlc3RzL3N0cmVzcy9iaWctaW50LW11bHRpcGxpY2F0aW9u
LmpzCisrKyAvZGV2L251bGwKQEAgLTEsODMgKzAsMCBAQAotLy9AIHJ1bkJpZ0ludEVuYWJsZWQK
LQotLy8gQ29weXJpZ2h0IChDKSAyMDE3IFJvYmluIFRlbXBsZXRvbi4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLS8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQg
aW4gdGhlIExJQ0VOU0UgZmlsZS4KLQotYXNzZXJ0ID0gewotICAgIHNhbWVWYWx1ZTogZnVuY3Rp
b24gKGlucHV0LCBleHBlY3RlZCwgbWVzc2FnZSkgewotICAgIGlmIChpbnB1dCAhPT0gZXhwZWN0
ZWQpCi0gICAgICAgIHRocm93IG5ldyBFcnJvcihtZXNzYWdlKTsKLSAgICB9Ci19OwotCi1mdW5j
dGlvbiB0ZXN0TXVsKHgsIHksIHopIHsKLSAgICBhc3NlcnQuc2FtZVZhbHVlKHggKiB5LCB6LCB4
ICsgIiAqICIgKyB5ICsgIiA9ICIgKyB6KTsKLSAgICBhc3NlcnQuc2FtZVZhbHVlKHkgKiB4LCB6
LCB5ICsgIiAqICIgKyB4ICsgIiA9ICIgKyB6KTsKLX0KLQotdGVzdE11bCgweEZFRENCQTk4NzY1
NDMyMTBuLCAweEZFRENCQTk4NzY1NDMyMTBuLCAweEZEQkFDMDk3QzhEQzVBQ0NERUVDNkNEN0E0
NEE0MTAwbik7Ci10ZXN0TXVsKDB4RkVEQ0JBOTg3NjU0MzIxMG4sIDB4RkVEQ0JBOThuLCAweEZE
QkFDMDk3NTMwRUNBODY1NDFENTk4MG4pOwotdGVzdE11bCgweEZFRENCQTk4NzY1NDMyMTBuLCAw
eDEyMzRuLCAweDEyMUY0OUY0OUY0OUY0OUY0QjQwbik7Ci10ZXN0TXVsKDB4RkVEQ0JBOTg3NjU0
MzIxMG4sIDB4M24sIDB4MkZDOTYyRkM5NjJGQzk2MzBuKTsKLXRlc3RNdWwoMHhGRURDQkE5ODc2
NTQzMjEwbiwgMHgybiwgMHgxRkRCOTc1MzBFQ0E4NjQyMG4pOwotdGVzdE11bCgweEZFRENCQTk4
NzY1NDMyMTBuLCAweDFuLCAweEZFRENCQTk4NzY1NDMyMTBuKTsKLXRlc3RNdWwoMHhGRURDQkE5
ODc2NTQzMjEwbiwgMHgwbiwgMHgwbik7Ci10ZXN0TXVsKDB4RkVEQ0JBOTg3NjU0MzIxMG4sIEJp
Z0ludCgiLTEiKSwgQmlnSW50KCItMTgzNjQ3NTg1NDQ0OTMwNjQ3MjAiKSk7Ci10ZXN0TXVsKDB4
RkVEQ0JBOTg3NjU0MzIxMG4sIEJpZ0ludCgiLTIiKSwgQmlnSW50KCItMzY3Mjk1MTcwODg5ODYx
Mjk0NDAiKSk7Ci10ZXN0TXVsKDB4RkVEQ0JBOTg3NjU0MzIxMG4sIEJpZ0ludCgiLTMiKSwgQmln
SW50KCItNTUwOTQyNzU2MzM0NzkxOTQxNjAiKSk7Ci10ZXN0TXVsKDB4RkVEQ0JBOTg3NjU0MzIx
MG4sIEJpZ0ludCgiLTQ2NjAiKSwgQmlnSW50KCItODU1Nzk3NzQ4MTczMzc2ODE1OTUyMDAiKSk7
Ci10ZXN0TXVsKDB4RkVEQ0JBOTg3NjU0MzIxMG4sIEJpZ0ludCgiLTQyNzU4Nzg1NTEiKSwgQmln
SW50KCItNzg1MjU0NzcxNTQ2OTE4NzQ2MDQ1MDI4MjA3MjAiKSk7Ci10ZXN0TXVsKDB4RkVEQ0JB
OTg3NjU0MzIwRm4sIDB4RkVEQ0JBOTg3NjU0MzIwRm4sIDB4RkRCQUMwOTdDOERDNUFDQUUxMzJG
N0E2QjdBMURDRTFuKTsKLXRlc3RNdWwoMHhGRURDQkE5ODc2NTQzMjBGbiwgMHhGRURDQkE5N24s
IDB4RkRCQUMwOTY1NDMyMEZFQ0RFRUM2Q0Q5bik7Ci10ZXN0TXVsKDB4RkVEQ0JBOTg3NjU0MzIw
Rm4sIDB4M24sIDB4MkZDOTYyRkM5NjJGQzk2MkRuKTsKLXRlc3RNdWwoMHhGRURDQkE5ODc2NTQz
MjBGbiwgMHgybiwgMHgxRkRCOTc1MzBFQ0E4NjQxRW4pOwotdGVzdE11bCgweEZFRENCQTk4NzY1
NDMyMEZuLCAweDFuLCAweEZFRENCQTk4NzY1NDMyMEZuKTsKLXRlc3RNdWwoMHhGRURDQkE5ODc2
NTQzMjBGbiwgMHgwbiwgMHgwbik7Ci10ZXN0TXVsKDB4RkVEQ0JBOTg3NjU0MzIwRm4sIEJpZ0lu
dCgiLTEiKSwgQmlnSW50KCItMTgzNjQ3NTg1NDQ0OTMwNjQ3MTkiKSk7Ci10ZXN0TXVsKDB4RkVE
Q0JBOTg3NjU0MzIwRm4sIEJpZ0ludCgiLTIiKSwgQmlnSW50KCItMzY3Mjk1MTcwODg5ODYxMjk0
MzgiKSk7Ci10ZXN0TXVsKDB4RkVEQ0JBOTg3NjU0MzIwRm4sIEJpZ0ludCgiLTMiKSwgQmlnSW50
KCItNTUwOTQyNzU2MzM0NzkxOTQxNTciKSk7Ci10ZXN0TXVsKDB4RkVEQ0JBOTg3NjU0MzIwRm4s
IEJpZ0ludCgiLTQyNzU4Nzg1NTEiKSwgQmlnSW50KCItNzg1MjU0NzcxNTQ2OTE4NzQ2MDAyMjY5
NDIxNjkiKSk7Ci10ZXN0TXVsKDB4RkVEQ0JBOTg3NjU0MzIwRm4sIEJpZ0ludCgiLTE4MzY0NzU4
NTQ0NDkzMDY0NzIwIiksIEJpZ0ludCgiLTMzNzI2NDM1NjM5NzUzMTAyODk3NjYwODI4OTYzMzYx
NTYxMzY4MCIpKTsKLXRlc3RNdWwoMHhGRURDQkE5OG4sIDB4RkVEQ0JBOThuLCAweEZEQkFDMDk2
REQ0MTNBNDBuKTsKLXRlc3RNdWwoMHhGRURDQkE5OG4sIDB4MTIzNG4sIDB4MTIxRjQ5RjQ5NkUw
bik7Ci10ZXN0TXVsKDB4RkVEQ0JBOThuLCAweDNuLCAweDJGQzk2MkZDOG4pOwotdGVzdE11bCgw
eEZFRENCQTk4biwgMHgybiwgMHgxRkRCOTc1MzBuKTsKLXRlc3RNdWwoMHhGRURDQkE5OG4sIDB4
MW4sIDB4RkVEQ0JBOThuKTsKLXRlc3RNdWwoMHhGRURDQkE5OG4sIDB4MG4sIDB4MG4pOwotdGVz
dE11bCgweEZFRENCQTk4biwgQmlnSW50KCItMSIpLCBCaWdJbnQoIi00Mjc1ODc4NTUyIikpOwot
dGVzdE11bCgweEZFRENCQTk4biwgQmlnSW50KCItMiIpLCBCaWdJbnQoIi04NTUxNzU3MTA0Iikp
OwotdGVzdE11bCgweEZFRENCQTk4biwgQmlnSW50KCItMyIpLCBCaWdJbnQoIi0xMjgyNzYzNTY1
NiIpKTsKLXRlc3RNdWwoMHhGRURDQkE5OG4sIEJpZ0ludCgiLTQyNzU4Nzg1NTEiKSwgQmlnSW50
KCItMTgyODMxMzczODcxNzc3MzgxNTIiKSk7Ci10ZXN0TXVsKDB4RkVEQ0JBOThuLCBCaWdJbnQo
Ii0xODM2NDc1ODU0NDQ5MzA2NDcyMCIpLCBCaWdJbnQoIi03ODUyNTQ3NzE3MzA1NjYzMzE0ODk5
NTg4NTQ0MCIpKTsKLXRlc3RNdWwoMHgzbiwgMHgzbiwgMHg5bik7Ci10ZXN0TXVsKDB4M24sIDB4
Mm4sIDB4Nm4pOwotdGVzdE11bCgweDNuLCAweDFuLCAweDNuKTsKLXRlc3RNdWwoMHgzbiwgMHgw
biwgMHgwbik7Ci10ZXN0TXVsKDB4M24sIEJpZ0ludCgiLTEiKSwgQmlnSW50KCItMyIpKTsKLXRl
c3RNdWwoMHgzbiwgQmlnSW50KCItMiIpLCBCaWdJbnQoIi02IikpOwotdGVzdE11bCgweDNuLCBC
aWdJbnQoIi0zIiksIEJpZ0ludCgiLTkiKSk7Ci10ZXN0TXVsKDB4M24sIEJpZ0ludCgiLTQ2NjAi
KSwgQmlnSW50KCItMTM5ODAiKSk7Ci10ZXN0TXVsKDB4M24sIEJpZ0ludCgiLTQyNzU4Nzg1NTIi
KSwgQmlnSW50KCItMTI4Mjc2MzU2NTYiKSk7Ci10ZXN0TXVsKDB4M24sIEJpZ0ludCgiLTE4MzY0
NzU4NTQ0NDkzMDY0NzIwIiksIEJpZ0ludCgiLTU1MDk0Mjc1NjMzNDc5MTk0MTYwIikpOwotdGVz
dE11bCgweDBuLCAweDBuLCAweDBuKTsKLXRlc3RNdWwoMHgwbiwgQmlnSW50KCItMSIpLCAweDBu
KTsKLXRlc3RNdWwoMHgwbiwgQmlnSW50KCItMiIpLCAweDBuKTsKLXRlc3RNdWwoMHgwbiwgQmln
SW50KCItMyIpLCAweDBuKTsKLXRlc3RNdWwoMHgwbiwgQmlnSW50KCItNDI3NTg3ODU1MSIpLCAw
eDBuKTsKLXRlc3RNdWwoMHgwbiwgQmlnSW50KCItMTgzNjQ3NTg1NDQ0OTMwNjQ3MTkiKSwgMHgw
bik7Ci10ZXN0TXVsKEJpZ0ludCgiLTEiKSwgQmlnSW50KCItMSIpLCAweDFuKTsKLXRlc3RNdWwo
QmlnSW50KCItMSIpLCBCaWdJbnQoIi0yIiksIDB4Mm4pOwotdGVzdE11bChCaWdJbnQoIi0xIiks
IEJpZ0ludCgiLTMiKSwgMHgzbik7Ci10ZXN0TXVsKEJpZ0ludCgiLTEiKSwgQmlnSW50KCItNDY2
MCIpLCAweDEyMzRuKTsKLXRlc3RNdWwoQmlnSW50KCItMSIpLCBCaWdJbnQoIi00Mjc1ODc4NTUx
IiksIDB4RkVEQ0JBOTduKTsKLXRlc3RNdWwoQmlnSW50KCItMSIpLCBCaWdJbnQoIi00Mjc1ODc4
NTUyIiksIDB4RkVEQ0JBOThuKTsKLXRlc3RNdWwoQmlnSW50KCItMSIpLCBCaWdJbnQoIi0xODM2
NDc1ODU0NDQ5MzA2NDcxOSIpLCAweEZFRENCQTk4NzY1NDMyMEZuKTsKLXRlc3RNdWwoQmlnSW50
KCItMSIpLCBCaWdJbnQoIi0xODM2NDc1ODU0NDQ5MzA2NDcyMCIpLCAweEZFRENCQTk4NzY1NDMy
MTBuKTsKLXRlc3RNdWwoQmlnSW50KCItMyIpLCBCaWdJbnQoIi0zIiksIDB4OW4pOwotdGVzdE11
bChCaWdJbnQoIi0zIiksIEJpZ0ludCgiLTQ2NjAiKSwgMHgzNjlDbik7Ci10ZXN0TXVsKEJpZ0lu
dCgiLTMiKSwgQmlnSW50KCItNDI3NTg3ODU1MSIpLCAweDJGQzk2MkZDNW4pOwotdGVzdE11bChC
aWdJbnQoIi0zIiksIEJpZ0ludCgiLTQyNzU4Nzg1NTIiKSwgMHgyRkM5NjJGQzhuKTsKLXRlc3RN
dWwoQmlnSW50KCItMyIpLCBCaWdJbnQoIi0xODM2NDc1ODU0NDQ5MzA2NDcxOSIpLCAweDJGQzk2
MkZDOTYyRkM5NjJEbik7Ci10ZXN0TXVsKEJpZ0ludCgiLTMiKSwgQmlnSW50KCItMTgzNjQ3NTg1
NDQ0OTMwNjQ3MjAiKSwgMHgyRkM5NjJGQzk2MkZDOTYzMG4pOwotdGVzdE11bChCaWdJbnQoIi0x
ODM2NDc1ODU0NDQ5MzA2NDcyMCIpLCBCaWdJbnQoIi0xODM2NDc1ODU0NDQ5MzA2NDcyMCIpLCAw
eEZEQkFDMDk3QzhEQzVBQ0NERUVDNkNEN0E0NEE0MTAwbik7Ci0KZGlmZiAtLWdpdCBhL0pTVGVz
dHMvc3RyZXNzL2JpZy1pbnQtbXVsdGlwbHktbWVtb3J5LXN0cmVzcy5qcyBiL0pTVGVzdHMvc3Ry
ZXNzL2JpZy1pbnQtbXVsdGlwbHktbWVtb3J5LXN0cmVzcy5qcwpkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMWFiYWE3ZTI4ZjlhZWU2NWQyMWMwZDM2ZjYzZGY2ODAyM2I5Yzg5Ny4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9KU1Rlc3RzL3N0cmVz
cy9iaWctaW50LW11bHRpcGx5LW1lbW9yeS1zdHJlc3MuanMKKysrIC9kZXYvbnVsbApAQCAtMSwx
NSArMCwwIEBACi0vL0AgcnVuQmlnSW50RW5hYmxlZAotCi1mdW5jdGlvbiBhc3NlcnQoYSkgewot
ICAgIGlmICghYSkKLSAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgYXNzZXJ0aW9uIik7Ci19
Ci0KLWxldCBhID0gMG47Ci1sZXQgYiA9IDFuOwotZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwMDAw
OyBpKyspIHsKLSAgICBhID0gYiAqIDMwbjsKLX0KLQotYXNzZXJ0KGEgPT09IDMwbik7Ci0K
</data>

          </attachment>
      

    </bug>

</bugzilla>