<?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>38210</bug_id>
          
          <creation_ts>2010-04-27 12:13:59 -0700</creation_ts>
          <short_desc>Remove copy/paste addEventListener &quot;custom&quot; bindings via code generation</short_desc>
          <delta_ts>2010-04-27 14:24:04 -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>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Barth">abarth</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yaar</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>217835</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-04-27 12:13:59 -0700</bug_when>
    <thetext>Remove copy/paste addEventListener &quot;custom&quot; bindings via code generation</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217839</commentid>
    <comment_count>1</comment_count>
      <attachid>54442</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-04-27 12:16:59 -0700</bug_when>
    <thetext>Created attachment 54442
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217840</commentid>
    <comment_count>2</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-04-27 12:17:29 -0700</bug_when>
    <thetext>Note that most of the change to CodeGeneratorJS.pm is just indenting existing code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217841</commentid>
    <comment_count>3</comment_count>
      <attachid>54442</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-04-27 12:19:09 -0700</bug_when>
    <thetext>Comment on attachment 54442
Patch

Special cases in the code generator are OK; we can certainly live with them and keep refactoring and improving over time. But you could trigger them with special keywords instead of hard-coding function names if you prefer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217884</commentid>
    <comment_count>4</comment_count>
      <attachid>54442</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-04-27 13:26:25 -0700</bug_when>
    <thetext>Comment on attachment 54442
Patch

Clearing flags on attachment: 54442

Committed r58330: &lt;http://trac.webkit.org/changeset/58330&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217885</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-04-27 13:26:31 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217910</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-04-27 13:51:04 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/58330 might have broken Qt Linux Release
The following changes are on the blame list:
http://trac.webkit.org/changeset/58329
http://trac.webkit.org/changeset/58330
http://trac.webkit.org/changeset/58331</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>54442</attachid>
            <date>2010-04-27 12:16:59 -0700</date>
            <delta_ts>2010-04-27 13:26:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-38210-20100427121658.patch</filename>
            <type>text/plain</type>
            <size>55337</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
Mjc2Yzc3N2U2ZGYxYjI3MTgxNWIyMGVjN2Q3Y2YyZWYwNmVmOTZhYy4uZTZkYzU4Nzc2ZGE0MWI0
MmQ0YmYxZjEwZTIzY2VkNzdkNzc0MjdjNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsNSArMSw2MyBAQAogMjAxMC0wNC0yNyAgQWRh
bSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSBjb3B5L3Bhc3RlIGFkZEV2ZW50TGlzdGVuZXIg
ImN1c3RvbSIgYmluZGluZ3MgdmlhIGNvZGUgZ2VuZXJhdGlvbgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzgyMTAKKworICAgICAgICBJdCdzIHNvbWV3
aGF0IGxhbWUgdG8gc3BlY2lhbCBjYXNlIGFkZEV2ZW50TGlzdGVuZXIgYW5kCisgICAgICAgIHJl
bW92ZUV2ZW50TGlzdGVuZXIgaW4gdGhlIGNvZGUgZ2VuZXJhdG9yLCBidXQgaXQgc2F2ZXMgYSBs
YXJnZSBhbW91bnQKKyAgICAgICAgb2YgYm9pbGVycGxhdGUgImN1c3RvbSIgYmluZGluZ3MgY29k
ZS4KKworICAgICAgICBJZGVhIHNoYW1lbGVzc2x5IHN0b2xlbiBmcm9tIHRoZSBWOCBjb2RlIGdl
bmVyYXRvci4KKworICAgICAgICBUaGlzIHBhdGNoIHBvaW50cyB0byBzb21lIGdvb2QgcmVmYWN0
b3Jpbmcgb3Bwb3J0dW5pdGllcyBpbgorICAgICAgICBDb2RlR2VuZXJhdG9ySlMucG0sIGJ1dCBJ
J20gZ29pbmcgdG8gaG9sZCBvZmYgb24gdGhvc2UgZm9yIGEgZnV0dXJlCisgICAgICAgIHBhdGNo
LiAgQnkgZ2VuZXJhdGluZyB0ZXN0IGNvdmVyYWdlIGZvciB0aGUgY29kZSBnZW5lcmF0b3IsIHdl
IG1ha2UKKyAgICAgICAgdGhlc2UgZnV0dXJlIHJlZmFjdG9yaW5ncyBlYXNpZXIuCisKKyAgICAg
ICAgKiBiaW5kaW5ncy9qcy9KU0Fic3RyYWN0V29ya2VyQ3VzdG9tLmNwcDoKKyAgICAgICAgKiBi
aW5kaW5ncy9qcy9KU0RPTUFwcGxpY2F0aW9uQ2FjaGVDdXN0b20uY3BwOgorICAgICAgICAqIGJp
bmRpbmdzL2pzL0pTRGVza3RvcE5vdGlmaWNhdGlvbnNDdXN0b20uY3BwOgorICAgICAgICAqIGJp
bmRpbmdzL2pzL0pTRXZlbnRTb3VyY2VDdXN0b20uY3BwOgorICAgICAgICAqIGJpbmRpbmdzL2pz
L0pTTWVzc2FnZVBvcnRDdXN0b20uY3BwOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTTm9kZUN1
c3RvbS5jcHA6CisgICAgICAgICogYmluZGluZ3MvanMvSlNTVkdFbGVtZW50SW5zdGFuY2VDdXN0
b20uY3BwOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTV2ViU29ja2V0Q3VzdG9tLmNwcDoKKyAg
ICAgICAgKiBiaW5kaW5ncy9qcy9KU1dvcmtlckNvbnRleHRDdXN0b20uY3BwOgorICAgICAgICAq
IGJpbmRpbmdzL2pzL0pTWE1MSHR0cFJlcXVlc3RDdXN0b20uY3BwOgorICAgICAgICAqIGJpbmRp
bmdzL2pzL0pTWE1MSHR0cFJlcXVlc3RVcGxvYWRDdXN0b20uY3BwOgorICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtOgorICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RPYmouY3BwOgorICAgICAgICAqIGJpbmRpbmdz
L3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RPYmouaDoKKyAgICAgICAgKiBiaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oik6
CisgICAgICAgIChXZWJDb3JlOjpqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbkFkZEV2ZW50TGlz
dGVuZXIpOgorICAgICAgICAoV2ViQ29yZTo6anNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25SZW1v
dmVFdmVudExpc3RlbmVyKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0T2JqLmg6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE9i
ai5oOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RPYmoubW06
CisgICAgICAgICgtW0RPTVRlc3RPYmogYWRkRXZlbnRMaXN0ZW5lcjpsaXN0ZW5lcjp1c2VDYXB0
dXJlOl0pOgorICAgICAgICAoLVtET01UZXN0T2JqIHJlbW92ZUV2ZW50TGlzdGVuZXI6bGlzdGVu
ZXI6dXNlQ2FwdHVyZTpdKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9i
ai5pZGw6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE9iai5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpUZXN0T2JqSW50ZXJuYWw6OmFkZEV2ZW50TGlzdGVuZXJDYWxs
YmFjayk6CisgICAgICAgIChXZWJDb3JlOjpUZXN0T2JqSW50ZXJuYWw6OnJlbW92ZUV2ZW50TGlz
dGVuZXJDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjopOgorICAgICAgICAqIGRvbS9NZXNz
YWdlUG9ydC5pZGw6CisgICAgICAgICogZG9tL05vZGUuaWRsOgorICAgICAgICAqIGxvYWRlci9h
cHBjYWNoZS9ET01BcHBsaWNhdGlvbkNhY2hlLmlkbDoKKyAgICAgICAgKiBub3RpZmljYXRpb25z
L05vdGlmaWNhdGlvbi5pZGw6CisgICAgICAgICogcGFnZS9FdmVudFNvdXJjZS5pZGw6CisgICAg
ICAgICogc3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5pZGw6CisgICAgICAgICogd2Vic29ja2V0cy9X
ZWJTb2NrZXQuaWRsOgorICAgICAgICAqIHdvcmtlcnMvQWJzdHJhY3RXb3JrZXIuaWRsOgorICAg
ICAgICAqIHdvcmtlcnMvV29ya2VyQ29udGV4dC5pZGw6CisgICAgICAgICogeG1sL1hNTEh0dHBS
ZXF1ZXN0LmlkbDoKKyAgICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3RVcGxvYWQuaWRsOgorCisy
MDEwLTA0LTI3ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisKICAgICAgICAgVW5y
ZXZpZXdlZC4gIFJlZ2VuZXJhdGUgcmVmZXJlbmNlIGJpbmRpbmdzIGNvZGUgZ2VuZXJhdG9yIG91
dHB1dC4KIAogICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RPYmouY3Bw
OgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0Fic3RyYWN0V29ya2VyQ3VzdG9t
LmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNBYnN0cmFjdFdvcmtlckN1c3RvbS5jcHAKaW5k
ZXggMWY4NDNmOTlmN2NmZjQ5NDg1MjVhZmY4OTEyMzhkNDRmYTYxNGM5OC4uZDU5MTBlNDE0NTAy
MjM3ZGU4MGMwMmViNDcwMWI1ZjY5NmNiOGY4ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0Fic3RyYWN0V29ya2VyQ3VzdG9tLmNwcAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTQWJzdHJhY3RXb3JrZXJDdXN0b20uY3BwCkBAIC00NCwyNSArNDQsNyBAQCB1c2luZyBuYW1l
c3BhY2UgSlNDOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLUpTVmFsdWUgSlNBYnN0cmFjdFdv
cmtlcjo6YWRkRXZlbnRMaXN0ZW5lcihFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEFyZ0xpc3QmIGFy
Z3MpCi17Ci0gICAgSlNWYWx1ZSBsaXN0ZW5lciA9IGFyZ3MuYXQoMSk7Ci0gICAgaWYgKCFsaXN0
ZW5lci5pc09iamVjdCgpKQotICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKLQotICAgIGlt
cGwoKS0+YWRkRXZlbnRMaXN0ZW5lcih1c3RyaW5nVG9BdG9taWNTdHJpbmcoYXJncy5hdCgwKS50
b1N0cmluZyhleGVjKSksIEpTRXZlbnRMaXN0ZW5lcjo6Y3JlYXRlKGFzT2JqZWN0KGxpc3RlbmVy
KSwgdGhpcywgZmFsc2UsIGN1cnJlbnRXb3JsZChleGVjKSksIGFyZ3MuYXQoMikudG9Cb29sZWFu
KGV4ZWMpKTsKLSAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKLX0KLQotSlNWYWx1ZSBKU0Fic3Ry
YWN0V29ya2VyOjpyZW1vdmVFdmVudExpc3RlbmVyKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgQXJn
TGlzdCYgYXJncykKLXsKLSAgICBKU1ZhbHVlIGxpc3RlbmVyID0gYXJncy5hdCgxKTsKLSAgICBp
ZiAoIWxpc3RlbmVyLmlzT2JqZWN0KCkpCi0gICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwot
Ci0gICAgaW1wbCgpLT5yZW1vdmVFdmVudExpc3RlbmVyKHVzdHJpbmdUb0F0b21pY1N0cmluZyhh
cmdzLmF0KDApLnRvU3RyaW5nKGV4ZWMpKSwgSlNFdmVudExpc3RlbmVyOjpjcmVhdGUoYXNPYmpl
Y3QobGlzdGVuZXIpLCB0aGlzLCBmYWxzZSwgY3VycmVudFdvcmxkKGV4ZWMpKS5nZXQoKSwgYXJn
cy5hdCgyKS50b0Jvb2xlYW4oZXhlYykpOwotICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwotfQor
Ly8gRklYTUU6IFJlbW92ZSB0aGlzIGZpbGUuCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUFwcGxpY2F0aW9uQ2FjaGVDdXN0
b20uY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUFwcGxpY2F0aW9uQ2FjaGVDdXN0b20u
Y3BwCmluZGV4IDYxOThkNmUwMWFjMGRiOWY3NWFiZjJiZDdiN2FmNmRmOTZlMWE2ODMuLmIxZjgy
YThiYzI2NWFhNDdkYTY2MjI2MDhiYjc2NWE1M2FjZjk2NDUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNET01BcHBsaWNhdGlvbkNhY2hlQ3VzdG9tLmNwcAorKysgYi9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTRE9NQXBwbGljYXRpb25DYWNoZUN1c3RvbS5jcHAKQEAgLTg1LDI2ICs4
NSw2IEBAIEpTVmFsdWUgSlNET01BcHBsaWNhdGlvbkNhY2hlOjpyZW1vdmUoRXhlY1N0YXRlKiBl
eGVjLCBjb25zdCBBcmdMaXN0JiBhcmdzKQogCiAjZW5kaWYgLy8gRU5BQkxFKEFQUExJQ0FUSU9O
X0NBQ0hFX0RZTkFNSUNfRU5UUklFUykKIAotSlNWYWx1ZSBKU0RPTUFwcGxpY2F0aW9uQ2FjaGU6
OmFkZEV2ZW50TGlzdGVuZXIoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBBcmdMaXN0JiBhcmdzKQot
ewotICAgIEpTVmFsdWUgbGlzdGVuZXIgPSBhcmdzLmF0KDEpOwotICAgIGlmICghbGlzdGVuZXIu
aXNPYmplY3QoKSkKLSAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7Ci0KLSAgICBpbXBsKCkt
PmFkZEV2ZW50TGlzdGVuZXIodXN0cmluZ1RvQXRvbWljU3RyaW5nKGFyZ3MuYXQoMCkudG9TdHJp
bmcoZXhlYykpLCBKU0V2ZW50TGlzdGVuZXI6OmNyZWF0ZShhc09iamVjdChsaXN0ZW5lciksIHRo
aXMsIGZhbHNlLCBjdXJyZW50V29ybGQoZXhlYykpLCBhcmdzLmF0KDIpLnRvQm9vbGVhbihleGVj
KSk7Ci0gICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7Ci19Ci0KLUpTVmFsdWUgSlNET01BcHBsaWNh
dGlvbkNhY2hlOjpyZW1vdmVFdmVudExpc3RlbmVyKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgQXJn
TGlzdCYgYXJncykKLXsKLSAgICBKU1ZhbHVlIGxpc3RlbmVyID0gYXJncy5hdCgxKTsKLSAgICBp
ZiAoIWxpc3RlbmVyLmlzT2JqZWN0KCkpCi0gICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwot
Ci0gICAgaW1wbCgpLT5yZW1vdmVFdmVudExpc3RlbmVyKHVzdHJpbmdUb0F0b21pY1N0cmluZyhh
cmdzLmF0KDApLnRvU3RyaW5nKGV4ZWMpKSwgSlNFdmVudExpc3RlbmVyOjpjcmVhdGUoYXNPYmpl
Y3QobGlzdGVuZXIpLCB0aGlzLCBmYWxzZSwgY3VycmVudFdvcmxkKGV4ZWMpKS5nZXQoKSwgYXJn
cy5hdCgyKS50b0Jvb2xlYW4oZXhlYykpOwotICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwotfQot
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoT0ZGTElORV9XRUJf
QVBQTElDQVRJT05TKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0Rlc2t0b3BO
b3RpZmljYXRpb25zQ3VzdG9tLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZXNrdG9wTm90
aWZpY2F0aW9uc0N1c3RvbS5jcHAKaW5kZXggZjg2YmFlNWRkNzhiNThlYTY3M2RkM2MxM2ZmNTM2
ZTlhZDRkOTFjOS4uMzg3ZjVmNTY3YTQ1MTkwMTdlMzI1ZDlkOGViYWJmZWJkYTJlN2NmNSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0Rlc2t0b3BOb3RpZmljYXRpb25zQ3VzdG9t
LmNwcAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGVza3RvcE5vdGlmaWNhdGlvbnNDdXN0
b20uY3BwCkBAIC02MSwyNyArNjEsNiBAQCBKU1ZhbHVlIEpTTm90aWZpY2F0aW9uQ2VudGVyOjpy
ZXF1ZXN0UGVybWlzc2lvbihFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEFyZ0xpc3QmCiAgICAgcmV0
dXJuIGpzVW5kZWZpbmVkKCk7CiB9CiAKLUpTVmFsdWUgSlNOb3RpZmljYXRpb246OmFkZEV2ZW50
TGlzdGVuZXIoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBBcmdMaXN0JiBhcmdzKQotewotICAgIEpT
VmFsdWUgbGlzdGVuZXIgPSBhcmdzLmF0KDEpOwotICAgIGlmICghbGlzdGVuZXIuaXNPYmplY3Qo
KSkKLSAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7Ci0KLSAgICBpbXBsKCktPmFkZEV2ZW50
TGlzdGVuZXIodXN0cmluZ1RvQXRvbWljU3RyaW5nKGFyZ3MuYXQoMCkudG9TdHJpbmcoZXhlYykp
LCBKU0V2ZW50TGlzdGVuZXI6OmNyZWF0ZShhc09iamVjdChsaXN0ZW5lciksIHRoaXMsIGZhbHNl
LCBjdXJyZW50V29ybGQoZXhlYykpLCBhcmdzLmF0KDIpLnRvQm9vbGVhbihleGVjKSk7Ci0gICAg
cmV0dXJuIGpzVW5kZWZpbmVkKCk7Ci19Ci0KLUpTVmFsdWUgSlNOb3RpZmljYXRpb246OnJlbW92
ZUV2ZW50TGlzdGVuZXIoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBBcmdMaXN0JiBhcmdzKQotewot
ICAgIEpTVmFsdWUgbGlzdGVuZXIgPSBhcmdzLmF0KDEpOwotICAgIGlmICghbGlzdGVuZXIuaXNP
YmplY3QoKSkKLSAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7Ci0KLSAgICBpbXBsKCktPnJl
bW92ZUV2ZW50TGlzdGVuZXIodXN0cmluZ1RvQXRvbWljU3RyaW5nKGFyZ3MuYXQoMCkudG9TdHJp
bmcoZXhlYykpLCBKU0V2ZW50TGlzdGVuZXI6OmNyZWF0ZShhc09iamVjdChsaXN0ZW5lciksIHRo
aXMsIGZhbHNlLCBjdXJyZW50V29ybGQoZXhlYykpLmdldCgpLCBhcmdzLmF0KDIpLnRvQm9vbGVh
bihleGVjKSk7Ci0gICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7Ci19Ci0KLQogfSAvLyBuYW1lc3Bh
Y2UKIAogI2VuZGlmIC8vIEVOQUJMRShOT1RJRklDQVRJT05TKQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0V2ZW50U291cmNlQ3VzdG9tLmNwcCBiL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNFdmVudFNvdXJjZUN1c3RvbS5jcHAKaW5kZXggODZkYjQzMTk3NGNlMDMxMDVjODEzMzQ5
NmViYTk3ZjdjMDk5ZDcwNy4uZTBiYzY5YzgxOGM2MjZhMmI0OTkzYzk5NmY0NWUzZDAxMmU0OTll
MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50U291cmNlQ3VzdG9tLmNw
cAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRTb3VyY2VDdXN0b20uY3BwCkBAIC00
MywyNSArNDMsNyBAQCB1c2luZyBuYW1lc3BhY2UgSlNDOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLUpTVmFsdWUgSlNFdmVudFNvdXJjZTo6YWRkRXZlbnRMaXN0ZW5lcihFeGVjU3RhdGUqIGV4
ZWMsIGNvbnN0IEFyZ0xpc3QmIGFyZ3MpCi17Ci0gICAgSlNWYWx1ZSBsaXN0ZW5lciA9IGFyZ3Mu
YXQoMSk7Ci0gICAgaWYgKCFsaXN0ZW5lci5pc09iamVjdCgpKQotICAgICAgICByZXR1cm4ganNV
bmRlZmluZWQoKTsKLQotICAgIGltcGwoKS0+YWRkRXZlbnRMaXN0ZW5lcih1c3RyaW5nVG9BdG9t
aWNTdHJpbmcoYXJncy5hdCgwKS50b1N0cmluZyhleGVjKSksIEpTRXZlbnRMaXN0ZW5lcjo6Y3Jl
YXRlKGFzT2JqZWN0KGxpc3RlbmVyKSwgdGhpcywgZmFsc2UsIGN1cnJlbnRXb3JsZChleGVjKSku
Z2V0KCksIGFyZ3MuYXQoMikudG9Cb29sZWFuKGV4ZWMpKTsKLSAgICByZXR1cm4ganNVbmRlZmlu
ZWQoKTsKLX0KLQotSlNWYWx1ZSBKU0V2ZW50U291cmNlOjpyZW1vdmVFdmVudExpc3RlbmVyKEV4
ZWNTdGF0ZSogZXhlYywgY29uc3QgQXJnTGlzdCYgYXJncykKLXsKLSAgICBKU1ZhbHVlIGxpc3Rl
bmVyID0gYXJncy5hdCgxKTsKLSAgICBpZiAoIWxpc3RlbmVyLmlzT2JqZWN0KCkpCi0gICAgICAg
IHJldHVybiBqc1VuZGVmaW5lZCgpOwotCi0gICAgaW1wbCgpLT5yZW1vdmVFdmVudExpc3RlbmVy
KHVzdHJpbmdUb0F0b21pY1N0cmluZyhhcmdzLmF0KDApLnRvU3RyaW5nKGV4ZWMpKSwgSlNFdmVu
dExpc3RlbmVyOjpjcmVhdGUoYXNPYmplY3QobGlzdGVuZXIpLCB0aGlzLCBmYWxzZSwgY3VycmVu
dFdvcmxkKGV4ZWMpKS5nZXQoKSwgYXJncy5hdCgyKS50b0Jvb2xlYW4oZXhlYykpOwotICAgIHJl
dHVybiBqc1VuZGVmaW5lZCgpOwotfQorLy8gRklYTUU6IFJlbW92ZSB0aGlzIGZpbGUuCiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U01lc3NhZ2VQb3J0Q3VzdG9tLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNZXNzYWdlUG9y
dEN1c3RvbS5jcHAKaW5kZXggZjdjMDE2MGZlM2ZlNzJkNzA2NTA1MWVhYjQ1ZDNmNzE2YmU5NGEy
Zi4uNGMxNDkxZDk5OTcwYjJhMTM4MTAyNDA3YTAxZTdlZmQ0MGRlNmI1NyAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU01lc3NhZ2VQb3J0Q3VzdG9tLmNwcAorKysgYi9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTTWVzc2FnZVBvcnRDdXN0b20uY3BwCkBAIC01MiwyNiArNTIsNiBAQCB2
b2lkIEpTTWVzc2FnZVBvcnQ6Om1hcmtDaGlsZHJlbihNYXJrU3RhY2smIG1hcmtTdGFjaykKICAg
ICBtX2ltcGwtPm1hcmtKU0V2ZW50TGlzdGVuZXJzKG1hcmtTdGFjayk7CiB9CiAKLUpTVmFsdWUg
SlNNZXNzYWdlUG9ydDo6YWRkRXZlbnRMaXN0ZW5lcihFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEFy
Z0xpc3QmIGFyZ3MpCi17Ci0gICAgSlNWYWx1ZSBsaXN0ZW5lciA9IGFyZ3MuYXQoMSk7Ci0gICAg
aWYgKCFsaXN0ZW5lci5pc09iamVjdCgpKQotICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsK
LQotICAgIGltcGwoKS0+YWRkRXZlbnRMaXN0ZW5lcih1c3RyaW5nVG9BdG9taWNTdHJpbmcoYXJn
cy5hdCgwKS50b1N0cmluZyhleGVjKSksIEpTRXZlbnRMaXN0ZW5lcjo6Y3JlYXRlKGFzT2JqZWN0
KGxpc3RlbmVyKSwgdGhpcywgZmFsc2UsIGN1cnJlbnRXb3JsZChleGVjKSkuZ2V0KCksIGFyZ3Mu
YXQoMikudG9Cb29sZWFuKGV4ZWMpKTsKLSAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKLX0KLQot
SlNWYWx1ZSBKU01lc3NhZ2VQb3J0OjpyZW1vdmVFdmVudExpc3RlbmVyKEV4ZWNTdGF0ZSogZXhl
YywgY29uc3QgQXJnTGlzdCYgYXJncykKLXsKLSAgICBKU1ZhbHVlIGxpc3RlbmVyID0gYXJncy5h
dCgxKTsKLSAgICBpZiAoIWxpc3RlbmVyLmlzT2JqZWN0KCkpCi0gICAgICAgIHJldHVybiBqc1Vu
ZGVmaW5lZCgpOwotCi0gICAgaW1wbCgpLT5yZW1vdmVFdmVudExpc3RlbmVyKHVzdHJpbmdUb0F0
b21pY1N0cmluZyhhcmdzLmF0KDApLnRvU3RyaW5nKGV4ZWMpKSwgSlNFdmVudExpc3RlbmVyOjpj
cmVhdGUoYXNPYmplY3QobGlzdGVuZXIpLCB0aGlzLCBmYWxzZSwgY3VycmVudFdvcmxkKGV4ZWMp
KS5nZXQoKSwgYXJncy5hdCgyKS50b0Jvb2xlYW4oZXhlYykpOwotICAgIHJldHVybiBqc1VuZGVm
aW5lZCgpOwotfQotCiBKU0M6OkpTVmFsdWUgSlNNZXNzYWdlUG9ydDo6cG9zdE1lc3NhZ2UoSlND
OjpFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEpTQzo6QXJnTGlzdCYgYXJncykKIHsKICAgICByZXR1
cm4gaGFuZGxlUG9zdE1lc3NhZ2UoZXhlYywgYXJncywgaW1wbCgpKTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNOb2RlQ3VzdG9tLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNOb2RlQ3VzdG9tLmNwcAppbmRleCAzYTA3YjI5NDBjMjYyZThlNzliMjVjZjkzYTVhZmIxZThl
OGM1MTU4Li45ZmJjZmZkMTlhZWMyMTA2MTE4MTE1YzQ4ZjY2MTY3N2VmYjU1ODNjIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTm9kZUN1c3RvbS5jcHAKKysrIGIvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU05vZGVDdXN0b20uY3BwCkBAIC0xNjksMjYgKzE2OSw2IEBAIEpTVmFsdWUg
SlNOb2RlOjphcHBlbmRDaGlsZChFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEFyZ0xpc3QmIGFyZ3Mp
CiAgICAgcmV0dXJuIGpzTnVsbCgpOwogfQogCi1KU1ZhbHVlIEpTTm9kZTo6YWRkRXZlbnRMaXN0
ZW5lcihFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEFyZ0xpc3QmIGFyZ3MpCi17Ci0gICAgSlNWYWx1
ZSBsaXN0ZW5lciA9IGFyZ3MuYXQoMSk7Ci0gICAgaWYgKCFsaXN0ZW5lci5pc09iamVjdCgpKQot
ICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKLQotICAgIGltcGwoKS0+YWRkRXZlbnRMaXN0
ZW5lcih1c3RyaW5nVG9BdG9taWNTdHJpbmcoYXJncy5hdCgwKS50b1N0cmluZyhleGVjKSksIEpT
RXZlbnRMaXN0ZW5lcjo6Y3JlYXRlKGFzT2JqZWN0KGxpc3RlbmVyKSwgdGhpcywgZmFsc2UsIGN1
cnJlbnRXb3JsZChleGVjKSksIGFyZ3MuYXQoMikudG9Cb29sZWFuKGV4ZWMpKTsKLSAgICByZXR1
cm4ganNVbmRlZmluZWQoKTsKLX0KLQotSlNWYWx1ZSBKU05vZGU6OnJlbW92ZUV2ZW50TGlzdGVu
ZXIoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBBcmdMaXN0JiBhcmdzKQotewotICAgIEpTVmFsdWUg
bGlzdGVuZXIgPSBhcmdzLmF0KDEpOwotICAgIGlmICghbGlzdGVuZXIuaXNPYmplY3QoKSkKLSAg
ICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7Ci0KLSAgICBpbXBsKCktPnJlbW92ZUV2ZW50TGlz
dGVuZXIodXN0cmluZ1RvQXRvbWljU3RyaW5nKGFyZ3MuYXQoMCkudG9TdHJpbmcoZXhlYykpLCBK
U0V2ZW50TGlzdGVuZXI6OmNyZWF0ZShhc09iamVjdChsaXN0ZW5lciksIHRoaXMsIGZhbHNlLCBj
dXJyZW50V29ybGQoZXhlYykpLmdldCgpLCBhcmdzLmF0KDIpLnRvQm9vbGVhbihleGVjKSk7Ci0g
ICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7Ci19Ci0KIHZvaWQgSlNOb2RlOjpwdXNoRXZlbnRIYW5k
bGVyU2NvcGUoRXhlY1N0YXRlKiwgU2NvcGVDaGFpbiYpIGNvbnN0CiB7CiB9CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTU1ZHRWxlbWVudEluc3RhbmNlQ3VzdG9tLmNwcCBiL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNTVkdFbGVtZW50SW5zdGFuY2VDdXN0b20uY3BwCmluZGV4IGZk
Y2FiMDYwMzZjYjdkMTY0Mjc1YmJlOWZjZTdiMDY3M2VlMGViYmMuLmNjZjVjY2RhNDI5OWQ5NDFm
Nzg5MjBmNmJhMWFiYzBmOTA5YWM5MjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNTVkdFbGVtZW50SW5zdGFuY2VDdXN0b20uY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNTVkdFbGVtZW50SW5zdGFuY2VDdXN0b20uY3BwCkBAIC00NiwyNiArNDYsNiBAQCB2b2lkIEpT
U1ZHRWxlbWVudEluc3RhbmNlOjptYXJrQ2hpbGRyZW4oTWFya1N0YWNrJiBtYXJrU3RhY2spCiAg
ICAgbWFya0RPTU5vZGVXcmFwcGVyKG1hcmtTdGFjaywgaW1wbCgpLT5jb3JyZXNwb25kaW5nRWxl
bWVudCgpLT5kb2N1bWVudCgpLCBpbXBsKCktPmNvcnJlc3BvbmRpbmdFbGVtZW50KCkpOwogfQog
Ci1KU1ZhbHVlIEpTU1ZHRWxlbWVudEluc3RhbmNlOjphZGRFdmVudExpc3RlbmVyKEV4ZWNTdGF0
ZSogZXhlYywgY29uc3QgQXJnTGlzdCYgYXJncykKLXsKLSAgICBKU1ZhbHVlIGxpc3RlbmVyID0g
YXJncy5hdCgxKTsKLSAgICBpZiAoIWxpc3RlbmVyLmlzT2JqZWN0KCkpCi0gICAgICAgIHJldHVy
biBqc1VuZGVmaW5lZCgpOwotCi0gICAgaW1wbCgpLT5hZGRFdmVudExpc3RlbmVyKHVzdHJpbmdU
b0F0b21pY1N0cmluZyhhcmdzLmF0KDApLnRvU3RyaW5nKGV4ZWMpKSwgSlNFdmVudExpc3RlbmVy
OjpjcmVhdGUoYXNPYmplY3QobGlzdGVuZXIpLCB0aGlzLCBmYWxzZSwgY3VycmVudFdvcmxkKGV4
ZWMpKSwgYXJncy5hdCgyKS50b0Jvb2xlYW4oZXhlYykpOwotICAgIHJldHVybiBqc1VuZGVmaW5l
ZCgpOwotfQotCi1KU1ZhbHVlIEpTU1ZHRWxlbWVudEluc3RhbmNlOjpyZW1vdmVFdmVudExpc3Rl
bmVyKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgQXJnTGlzdCYgYXJncykKLXsKLSAgICBKU1ZhbHVl
IGxpc3RlbmVyID0gYXJncy5hdCgxKTsKLSAgICBpZiAoIWxpc3RlbmVyLmlzT2JqZWN0KCkpCi0g
ICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwotCi0gICAgaW1wbCgpLT5yZW1vdmVFdmVudExp
c3RlbmVyKHVzdHJpbmdUb0F0b21pY1N0cmluZyhhcmdzLmF0KDApLnRvU3RyaW5nKGV4ZWMpKSwg
SlNFdmVudExpc3RlbmVyOjpjcmVhdGUoYXNPYmplY3QobGlzdGVuZXIpLCB0aGlzLCBmYWxzZSwg
Y3VycmVudFdvcmxkKGV4ZWMpKS5nZXQoKSwgYXJncy5hdCgyKS50b0Jvb2xlYW4oZXhlYykpOwot
ICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwotfQotCiB2b2lkIEpTU1ZHRWxlbWVudEluc3RhbmNl
OjpwdXNoRXZlbnRIYW5kbGVyU2NvcGUoRXhlY1N0YXRlKiwgU2NvcGVDaGFpbiYpIGNvbnN0CiB7
CiB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViU29ja2V0Q3VzdG9tLmNw
cCBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJTb2NrZXRDdXN0b20uY3BwCmluZGV4IDE4ZjQx
ODNkYzZhNjQzYjIyNDc3MzM1ZjVlZTliZjAzYzg2NDA1NjYuLjE0OWFjNWQwN2YzMzE1MDczOTI0
M2JjZTVhZDNiNTUwODZhNTg1NmMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNX
ZWJTb2NrZXRDdXN0b20uY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJTb2NrZXRD
dXN0b20uY3BwCkBAIC01OSwyNiArNTksNiBAQCBKU1ZhbHVlIEpTV2ViU29ja2V0OjpzZW5kKEV4
ZWNTdGF0ZSogZXhlYywgY29uc3QgQXJnTGlzdCYgYXJncykKICAgICByZXR1cm4gcmV0OwogfQog
Ci1KU1ZhbHVlIEpTV2ViU29ja2V0OjphZGRFdmVudExpc3RlbmVyKEV4ZWNTdGF0ZSogZXhlYywg
Y29uc3QgQXJnTGlzdCYgYXJncykKLXsKLSAgICBKU1ZhbHVlIGxpc3RlbmVyID0gYXJncy5hdCgx
KTsKLSAgICBpZiAoIWxpc3RlbmVyLmlzT2JqZWN0KCkpCi0gICAgICAgIHJldHVybiBqc1VuZGVm
aW5lZCgpOwotCi0gICAgaW1wbCgpLT5hZGRFdmVudExpc3RlbmVyKHVzdHJpbmdUb0F0b21pY1N0
cmluZyhhcmdzLmF0KDApLnRvU3RyaW5nKGV4ZWMpKSwgSlNFdmVudExpc3RlbmVyOjpjcmVhdGUo
YXNPYmplY3QobGlzdGVuZXIpLCB0aGlzLCBmYWxzZSwgY3VycmVudFdvcmxkKGV4ZWMpKSwgYXJn
cy5hdCgyKS50b0Jvb2xlYW4oZXhlYykpOwotICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwotfQot
Ci1KU1ZhbHVlIEpTV2ViU29ja2V0OjpyZW1vdmVFdmVudExpc3RlbmVyKEV4ZWNTdGF0ZSogZXhl
YywgY29uc3QgQXJnTGlzdCYgYXJncykKLXsKLSAgICBKU1ZhbHVlIGxpc3RlbmVyID0gYXJncy5h
dCgxKTsKLSAgICBpZiAoIWxpc3RlbmVyLmlzT2JqZWN0KCkpCi0gICAgICAgIHJldHVybiBqc1Vu
ZGVmaW5lZCgpOwotCi0gICAgaW1wbCgpLT5yZW1vdmVFdmVudExpc3RlbmVyKHVzdHJpbmdUb0F0
b21pY1N0cmluZyhhcmdzLmF0KDApLnRvU3RyaW5nKGV4ZWMpKSwgSlNFdmVudExpc3RlbmVyOjpj
cmVhdGUoYXNPYmplY3QobGlzdGVuZXIpLCB0aGlzLCBmYWxzZSwgY3VycmVudFdvcmxkKGV4ZWMp
KS5nZXQoKSwgYXJncy5hdCgyKS50b0Jvb2xlYW4oZXhlYykpOwotICAgIHJldHVybiBqc1VuZGVm
aW5lZCgpOwotfQotCiB9ICAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrZXJDb250ZXh0Q3VzdG9tLmNwcCBiL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNXb3JrZXJDb250ZXh0Q3VzdG9tLmNwcAppbmRleCAwYTk0ODliYWQx
MGJhYzU1MmM5OWZmYWU2MTdhNzU2ZTM3YmZjODY2Li5hNzBjMWIzZmYyNGNmMTY3ZjAwYmZiNmE5
MTJjOWEzY2FkMjNlN2FjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2Vy
Q29udGV4dEN1c3RvbS5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtlckNvbnRl
eHRDdXN0b20uY3BwCkBAIC0xMTYsMjYgKzExNiw2IEBAIEpTVmFsdWUgSlNXb3JrZXJDb250ZXh0
OjppbXBvcnRTY3JpcHRzKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgQXJnTGlzdCYgYXJncykKICAg
ICByZXR1cm4ganNVbmRlZmluZWQoKTsKIH0KIAotSlNWYWx1ZSBKU1dvcmtlckNvbnRleHQ6OmFk
ZEV2ZW50TGlzdGVuZXIoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBBcmdMaXN0JiBhcmdzKQotewot
ICAgIEpTVmFsdWUgbGlzdGVuZXIgPSBhcmdzLmF0KDEpOwotICAgIGlmICghbGlzdGVuZXIuaXNP
YmplY3QoKSkKLSAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7Ci0KLSAgICBpbXBsKCktPmFk
ZEV2ZW50TGlzdGVuZXIodXN0cmluZ1RvQXRvbWljU3RyaW5nKGFyZ3MuYXQoMCkudG9TdHJpbmco
ZXhlYykpLCBKU0V2ZW50TGlzdGVuZXI6OmNyZWF0ZShhc09iamVjdChsaXN0ZW5lciksIHRoaXMs
IGZhbHNlLCBjdXJyZW50V29ybGQoZXhlYykpLCBhcmdzLmF0KDIpLnRvQm9vbGVhbihleGVjKSk7
Ci0gICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7Ci19Ci0KLUpTVmFsdWUgSlNXb3JrZXJDb250ZXh0
OjpyZW1vdmVFdmVudExpc3RlbmVyKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgQXJnTGlzdCYgYXJn
cykKLXsKLSAgICBKU1ZhbHVlIGxpc3RlbmVyID0gYXJncy5hdCgxKTsKLSAgICBpZiAoIWxpc3Rl
bmVyLmlzT2JqZWN0KCkpCi0gICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwotCi0gICAgaW1w
bCgpLT5yZW1vdmVFdmVudExpc3RlbmVyKHVzdHJpbmdUb0F0b21pY1N0cmluZyhhcmdzLmF0KDAp
LnRvU3RyaW5nKGV4ZWMpKSwgSlNFdmVudExpc3RlbmVyOjpjcmVhdGUoYXNPYmplY3QobGlzdGVu
ZXIpLCB0aGlzLCBmYWxzZSwgY3VycmVudFdvcmxkKGV4ZWMpKS5nZXQoKSwgYXJncy5hdCgyKS50
b0Jvb2xlYW4oZXhlYykpOwotICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwotfQotCiBKU1ZhbHVl
IEpTV29ya2VyQ29udGV4dDo6c2V0VGltZW91dChFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEFyZ0xp
c3QmIGFyZ3MpCiB7CiAgICAgT3duUHRyPFNjaGVkdWxlZEFjdGlvbj4gYWN0aW9uID0gU2NoZWR1
bGVkQWN0aW9uOjpjcmVhdGUoZXhlYywgYXJncywgY3VycmVudFdvcmxkKGV4ZWMpKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNYTUxIdHRwUmVxdWVzdEN1c3RvbS5jcHAgYi9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTWE1MSHR0cFJlcXVlc3RDdXN0b20uY3BwCmluZGV4IGRhODM4
MDFmMjM5N2Q3ODVkNGQ4NzViNWM0NGE0ZWI0MzQzMTE4ODMuLmZjNzIxNTQzZTJkMDQ5ZDY2NWFi
ZTg2ZDIwOTY4MWFhYjVjODdhM2IgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNY
TUxIdHRwUmVxdWVzdEN1c3RvbS5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1hNTEh0
dHBSZXF1ZXN0Q3VzdG9tLmNwcApAQCAtMTUzLDI2ICsxNTMsNiBAQCBKU1ZhbHVlIEpTWE1MSHR0
cFJlcXVlc3Q6Om92ZXJyaWRlTWltZVR5cGUoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBBcmdMaXN0
JiBhcmdzKQogICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwogfQogCi1KU1ZhbHVlIEpTWE1MSHR0
cFJlcXVlc3Q6OmFkZEV2ZW50TGlzdGVuZXIoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBBcmdMaXN0
JiBhcmdzKQotewotICAgIEpTVmFsdWUgbGlzdGVuZXIgPSBhcmdzLmF0KDEpOwotICAgIGlmICgh
bGlzdGVuZXIuaXNPYmplY3QoKSkKLSAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7Ci0KLSAg
ICBpbXBsKCktPmFkZEV2ZW50TGlzdGVuZXIodXN0cmluZ1RvQXRvbWljU3RyaW5nKGFyZ3MuYXQo
MCkudG9TdHJpbmcoZXhlYykpLCBKU0V2ZW50TGlzdGVuZXI6OmNyZWF0ZShhc09iamVjdChsaXN0
ZW5lciksIHRoaXMsIGZhbHNlLCBjdXJyZW50V29ybGQoZXhlYykpLCBhcmdzLmF0KDIpLnRvQm9v
bGVhbihleGVjKSk7Ci0gICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7Ci19Ci0KLUpTVmFsdWUgSlNY
TUxIdHRwUmVxdWVzdDo6cmVtb3ZlRXZlbnRMaXN0ZW5lcihFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0
IEFyZ0xpc3QmIGFyZ3MpCi17Ci0gICAgSlNWYWx1ZSBsaXN0ZW5lciA9IGFyZ3MuYXQoMSk7Ci0g
ICAgaWYgKCFsaXN0ZW5lci5pc09iamVjdCgpKQotICAgICAgICByZXR1cm4ganNVbmRlZmluZWQo
KTsKLQotICAgIGltcGwoKS0+cmVtb3ZlRXZlbnRMaXN0ZW5lcih1c3RyaW5nVG9BdG9taWNTdHJp
bmcoYXJncy5hdCgwKS50b1N0cmluZyhleGVjKSksIEpTRXZlbnRMaXN0ZW5lcjo6Y3JlYXRlKGFz
T2JqZWN0KGxpc3RlbmVyKSwgdGhpcywgZmFsc2UsIGN1cnJlbnRXb3JsZChleGVjKSkuZ2V0KCks
IGFyZ3MuYXQoMikudG9Cb29sZWFuKGV4ZWMpKTsKLSAgICByZXR1cm4ganNVbmRlZmluZWQoKTsK
LX0KLQogSlNWYWx1ZSBKU1hNTEh0dHBSZXF1ZXN0OjpyZXNwb25zZVRleHQoRXhlY1N0YXRlKiBl
eGVjKSBjb25zdAogewogICAgIHJldHVybiBqc093bmVkU3RyaW5nT3JOdWxsKGV4ZWMsIGltcGwo
KS0+cmVzcG9uc2VUZXh0KCkpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1hN
TEh0dHBSZXF1ZXN0VXBsb2FkQ3VzdG9tLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNYTUxI
dHRwUmVxdWVzdFVwbG9hZEN1c3RvbS5jcHAKaW5kZXggNDJkNGViOWUwODczYzM2NjViZDJkOWNh
MjRkYzdhN2NhMGQzMDg5Mi4uMDkxYzM4MGVjZjY4OTlkOWYxZjE2YTc1MmMyM2VmMjNhNmZmOTQx
YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1hNTEh0dHBSZXF1ZXN0VXBsb2Fk
Q3VzdG9tLmNwcAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTWE1MSHR0cFJlcXVlc3RVcGxv
YWRDdXN0b20uY3BwCkBAIC01MSwyNCArNTEsNCBAQCB2b2lkIEpTWE1MSHR0cFJlcXVlc3RVcGxv
YWQ6Om1hcmtDaGlsZHJlbihNYXJrU3RhY2smIG1hcmtTdGFjaykKICAgICBtX2ltcGwtPm1hcmtK
U0V2ZW50TGlzdGVuZXJzKG1hcmtTdGFjayk7CiB9CiAKLUpTVmFsdWUgSlNYTUxIdHRwUmVxdWVz
dFVwbG9hZDo6YWRkRXZlbnRMaXN0ZW5lcihFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEFyZ0xpc3Qm
IGFyZ3MpCi17Ci0gICAgSlNWYWx1ZSBsaXN0ZW5lciA9IGFyZ3MuYXQoMSk7Ci0gICAgaWYgKCFs
aXN0ZW5lci5pc09iamVjdCgpKQotICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKLQotICAg
IGltcGwoKS0+YWRkRXZlbnRMaXN0ZW5lcih1c3RyaW5nVG9BdG9taWNTdHJpbmcoYXJncy5hdCgw
KS50b1N0cmluZyhleGVjKSksIEpTRXZlbnRMaXN0ZW5lcjo6Y3JlYXRlKGFzT2JqZWN0KGxpc3Rl
bmVyKSwgdGhpcywgZmFsc2UsIGN1cnJlbnRXb3JsZChleGVjKSksIGFyZ3MuYXQoMikudG9Cb29s
ZWFuKGV4ZWMpKTsKLSAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKLX0KLQotSlNWYWx1ZSBKU1hN
TEh0dHBSZXF1ZXN0VXBsb2FkOjpyZW1vdmVFdmVudExpc3RlbmVyKEV4ZWNTdGF0ZSogZXhlYywg
Y29uc3QgQXJnTGlzdCYgYXJncykKLXsKLSAgICBKU1ZhbHVlIGxpc3RlbmVyID0gYXJncy5hdCgx
KTsKLSAgICBpZiAoIWxpc3RlbmVyLmlzT2JqZWN0KCkpCi0gICAgICAgIHJldHVybiBqc1VuZGVm
aW5lZCgpOwotCi0gICAgaW1wbCgpLT5yZW1vdmVFdmVudExpc3RlbmVyKHVzdHJpbmdUb0F0b21p
Y1N0cmluZyhhcmdzLmF0KDApLnRvU3RyaW5nKGV4ZWMpKSwgSlNFdmVudExpc3RlbmVyOjpjcmVh
dGUoYXNPYmplY3QobGlzdGVuZXIpLCB0aGlzLCBmYWxzZSwgY3VycmVudFdvcmxkKGV4ZWMpKS5n
ZXQoKSwgYXJncy5hdCgyKS50b0Jvb2xlYW4oZXhlYykpOwotICAgIHJldHVybiBqc1VuZGVmaW5l
ZCgpOwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtIGIvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3JKUy5wbQppbmRleCBjNzVmNWQ2ZjY3YzQ3ZGM3MTJkNTcwMTk1YTAz
ZDI0ZGI4NWJmY2VkLi40MTYzNGIyMTlhOTFhMjAxYmE4MWRkMzMxZmNkNjIxYTA4NGYyODM1IDEw
MDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCisr
KyBiL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KQEAgLTEyMSw2
ICsxMjEsMjUgQEAgc3ViIEdlbmVyYXRlSW50ZXJmYWNlCiAgICAgfQogfQogCitzdWIgR2VuZXJh
dGVFdmVudExpc3RlbmVyQ2FsbAoreworICAgIG15ICRjbGFzc05hbWUgPSBzaGlmdDsKKyAgICBt
eSAkZnVuY3Rpb25OYW1lID0gc2hpZnQ7CisgICAgbXkgJHBhc3NSZWZQdHJIYW5kbGluZyA9ICgk
ZnVuY3Rpb25OYW1lIGVxICJhZGQiKSA/ICIiIDogIi5nZXQoKSI7CisKKyAgICAkaW1wbEluY2x1
ZGVzeyJKU0V2ZW50TGlzdGVuZXIuaCJ9ID0gMTsKKworICAgIG15IEBHZW5lcmF0ZUV2ZW50TGlz
dGVuZXJJbXBsID0gKCk7CisgICAgcHVzaChAR2VuZXJhdGVFdmVudExpc3RlbmVySW1wbCwgPDxF
TkQpOworICAgIEpTVmFsdWUgbGlzdGVuZXIgPSBhcmdzLmF0KDEpOworICAgIGlmICghbGlzdGVu
ZXIuaXNPYmplY3QoKSkKKyAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CisgICAgaW1wLT4k
e2Z1bmN0aW9uTmFtZX1FdmVudExpc3RlbmVyKHVzdHJpbmdUb0F0b21pY1N0cmluZyhhcmdzLmF0
KDApLnRvU3RyaW5nKGV4ZWMpKSwgSlNFdmVudExpc3RlbmVyOjpjcmVhdGUoYXNPYmplY3QobGlz
dGVuZXIpLCBjYXN0ZWRUaGlzT2JqLCBmYWxzZSwgY3VycmVudFdvcmxkKGV4ZWMpKSRwYXNzUmVm
UHRySGFuZGxpbmcsIGFyZ3MuYXQoMikudG9Cb29sZWFuKGV4ZWMpKTsKKyAgICByZXR1cm4ganNV
bmRlZmluZWQoKTsKK0VORAorICAgIHJldHVybiBAR2VuZXJhdGVFdmVudExpc3RlbmVySW1wbDsK
K30KKwogIyBQYXJhbXM6ICdpZGxEb2N1bWVudCcgc3RydWN0CiBzdWIgR2VuZXJhdGVNb2R1bGUK
IHsKQEAgLTE2OTMsODggKzE3MTIsOTQgQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAg
ICAgICAgICAgICAgICAgICAgJGltcGxJbmNsdWRlc3siSlNET01CaW5kaW5nLmgifSA9IDE7CiAg
ICAgICAgICAgICAgICAgfQogCi0gICAgICAgICAgICAgICAgbXkgJHBhcmFtSW5kZXggPSAwOwot
ICAgICAgICAgICAgICAgIG15ICRmdW5jdGlvblN0cmluZyA9ICgkcG9kVHlwZSA/ICJwb2RJbXAu
IiA6ICJpbXAtPiIpIC4gJGZ1bmN0aW9uSW1wbGVtZW50YXRpb25OYW1lIC4gIigiOwotCi0gICAg
ICAgICAgICAgICAgbXkgJGhhc09wdGlvbmFsQXJndW1lbnRzID0gMDsKKyAgICAgICAgICAgICAg
ICBpZiAoJGZ1bmN0aW9uLT5zaWduYXR1cmUtPm5hbWUgZXEgImFkZEV2ZW50TGlzdGVuZXIiKSB7
CisgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCBHZW5lcmF0ZUV2ZW50TGlz
dGVuZXJDYWxsKCRjbGFzc05hbWUsICJhZGQiKSk7CisgICAgICAgICAgICAgICAgfSBlbHNpZiAo
JGZ1bmN0aW9uLT5zaWduYXR1cmUtPm5hbWUgZXEgInJlbW92ZUV2ZW50TGlzdGVuZXIiKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCBHZW5lcmF0ZUV2ZW50TGlzdGVu
ZXJDYWxsKCRjbGFzc05hbWUsICJyZW1vdmUiKSk7CisgICAgICAgICAgICAgICAgfSBlbHNlIHsK
KyAgICAgICAgICAgICAgICAgICAgbXkgJHBhcmFtSW5kZXggPSAwOworICAgICAgICAgICAgICAg
ICAgICBteSAkZnVuY3Rpb25TdHJpbmcgPSAoJHBvZFR5cGUgPyAicG9kSW1wLiIgOiAiaW1wLT4i
KSAuICRmdW5jdGlvbkltcGxlbWVudGF0aW9uTmFtZSAuICIoIjsKIAotICAgICAgICAgICAgICAg
IGlmICgkZnVuY3Rpb24tPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkN1c3RvbUFy
Z3VtZW50SGFuZGxpbmcifSkgewotICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVu
dCwgIiAgICBTY3JpcHRDYWxsU3RhY2sgY2FsbFN0YWNrKGV4ZWMsIGFyZ3MsICRudW1QYXJhbWV0
ZXJzKTtcbiIpOwotICAgICAgICAgICAgICAgICAgICAkaW1wbEluY2x1ZGVzeyJTY3JpcHRDYWxs
U3RhY2suaCJ9ID0gMTsKLSAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIG15
ICRoYXNPcHRpb25hbEFyZ3VtZW50cyA9IDA7CiAKLSAgICAgICAgICAgICAgICBteSAkY2FsbFdp
dGggPSAkZnVuY3Rpb24tPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNhbGxXaXRo
In07Ci0gICAgICAgICAgICAgICAgaWYgKCRjYWxsV2l0aCkgewotICAgICAgICAgICAgICAgICAg
ICBteSAkY2FsbFdpdGhBcmcgPSAiQ09NUElMRV9BU1NFUlQoZmFsc2UpIjsKLSAgICAgICAgICAg
ICAgICAgICAgaWYgKCRjYWxsV2l0aCBlcSAiRHluYW1pY0ZyYW1lIikgewotICAgICAgICAgICAg
ICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgRnJhbWUqIGR5bmFtaWNGcmFtZSA9
IHRvRHluYW1pY0ZyYW1lKGV4ZWMpO1xuIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBwdXNo
KEBpbXBsQ29udGVudCwgIiAgICBpZiAoIWR5bmFtaWNGcmFtZSlcbiIpOwotICAgICAgICAgICAg
ICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICAgIHJldHVybiBqc1VuZGVmaW5l
ZCgpO1xuIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICAkY2FsbFdpdGhBcmcgPSAiZHluYW1p
Y0ZyYW1lIjsKLSAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAoJGNhbGxXaXRoIGVxICJTY3Jp
cHRTdGF0ZSIpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICRjYWxsV2l0aEFyZyA9ICJleGVj
IjsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCRmdW5jdGlvbi0+c2lnbmF0dXJlLT5leHRlbmRl
ZEF0dHJpYnV0ZXMtPnsiQ3VzdG9tQXJndW1lbnRIYW5kbGluZyJ9KSB7CisgICAgICAgICAgICAg
ICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBTY3JpcHRDYWxsU3RhY2sgY2FsbFN0
YWNrKGV4ZWMsIGFyZ3MsICRudW1QYXJhbWV0ZXJzKTtcbiIpOworICAgICAgICAgICAgICAgICAg
ICAgICAgJGltcGxJbmNsdWRlc3siU2NyaXB0Q2FsbFN0YWNrLmgifSA9IDE7CiAgICAgICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgJGZ1bmN0aW9uU3RyaW5nIC49ICIsICIg
aWYgJHBhcmFtSW5kZXg7Ci0gICAgICAgICAgICAgICAgICAgICRmdW5jdGlvblN0cmluZyAuPSAk
Y2FsbFdpdGhBcmc7Ci0gICAgICAgICAgICAgICAgICAgICRwYXJhbUluZGV4Kys7Ci0gICAgICAg
ICAgICAgICAgfQogCi0gICAgICAgICAgICAgICAgZm9yZWFjaCBteSAkcGFyYW1ldGVyIChAeyRm
dW5jdGlvbi0+cGFyYW1ldGVyc30pIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKCEkaGFzT3B0
aW9uYWxBcmd1bWVudHMgJiYgJHBhcmFtZXRlci0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Ik9wdGlv
bmFsIn0pIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiXG4g
ICAgaW50IGFyZ3NDb3VudCA9IGFyZ3Muc2l6ZSgpO1xuIik7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAkaGFzT3B0aW9uYWxBcmd1bWVudHMgPSAxOworICAgICAgICAgICAgICAgICAgICBteSAk
Y2FsbFdpdGggPSAkZnVuY3Rpb24tPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNh
bGxXaXRoIn07CisgICAgICAgICAgICAgICAgICAgIGlmICgkY2FsbFdpdGgpIHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIG15ICRjYWxsV2l0aEFyZyA9ICJDT01QSUxFX0FTU0VSVChmYWxzZSki
OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRjYWxsV2l0aCBlcSAiRHluYW1pY0ZyYW1l
IikgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAg
IEZyYW1lKiBkeW5hbWljRnJhbWUgPSB0b0R5bmFtaWNGcmFtZShleGVjKTtcbiIpOworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIGlmICghZHluYW1p
Y0ZyYW1lKVxuIik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRl
bnQsICIgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpO1xuIik7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJGNhbGxXaXRoQXJnID0gImR5bmFtaWNGcmFtZSI7CisgICAgICAgICAgICAg
ICAgICAgICAgICB9IGVsc2lmICgkY2FsbFdpdGggZXEgIlNjcmlwdFN0YXRlIikgeworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICRjYWxsV2l0aEFyZyA9ICJleGVjIjsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgICRmdW5jdGlvblN0cmluZyAu
PSAiLCAiIGlmICRwYXJhbUluZGV4OworICAgICAgICAgICAgICAgICAgICAgICAgJGZ1bmN0aW9u
U3RyaW5nIC49ICRjYWxsV2l0aEFyZzsKKyAgICAgICAgICAgICAgICAgICAgICAgICRwYXJhbUlu
ZGV4Kys7CiAgICAgICAgICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgICAgICAgICBpZiAo
JGhhc09wdGlvbmFsQXJndW1lbnRzKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBp
bXBsQ29udGVudCwgIiAgICBpZiAoYXJnc0NvdW50IDwgIiAuICgkcGFyYW1JbmRleCArIDEpIC4g
Iikge1xuIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBHZW5lcmF0ZUltcGxlbWVudGF0aW9u
RnVuY3Rpb25DYWxsKCRmdW5jdGlvbiwgJGZ1bmN0aW9uU3RyaW5nLCAkcGFyYW1JbmRleCwgIiAg
ICAiIHggMiwgJHBvZFR5cGUsICRpbXBsQ2xhc3NOYW1lKTsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIH1cblxuIik7Ci0gICAgICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgICAgICAgICAgZm9yZWFjaCBteSAkcGFyYW1ldGVyIChAeyRmdW5jdGlv
bi0+cGFyYW1ldGVyc30pIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICghJGhhc09wdGlv
bmFsQXJndW1lbnRzICYmICRwYXJhbWV0ZXItPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJPcHRpb25h
bCJ9KSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJc
biAgICBpbnQgYXJnc0NvdW50ID0gYXJncy5zaXplKCk7XG4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAkaGFzT3B0aW9uYWxBcmd1bWVudHMgPSAxOworICAgICAgICAgICAgICAgICAg
ICAgICAgfQorCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJGhhc09wdGlvbmFsQXJndW1l
bnRzKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIg
ICAgaWYgKGFyZ3NDb3VudCA8ICIgLiAoJHBhcmFtSW5kZXggKyAxKSAuICIpIHtcbiIpOworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIEdlbmVyYXRlSW1wbGVtZW50YXRpb25GdW5jdGlvbkNh
bGwoJGZ1bmN0aW9uLCAkZnVuY3Rpb25TdHJpbmcsICRwYXJhbUluZGV4LCAiICAgICIgeCAyLCAk
cG9kVHlwZSwgJGltcGxDbGFzc05hbWUpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1
c2goQGltcGxDb250ZW50LCAiICAgIH1cblxuIik7CisgICAgICAgICAgICAgICAgICAgICAgICB9
CiAKLSAgICAgICAgICAgICAgICAgICAgbXkgJG5hbWUgPSAkcGFyYW1ldGVyLT5uYW1lOworICAg
ICAgICAgICAgICAgICAgICAgICAgbXkgJG5hbWUgPSAkcGFyYW1ldGVyLT5uYW1lOwogICAgICAg
ICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICAgICAgaWYgKCRwYXJhbWV0ZXItPnR5cGUg
ZXEgIlhQYXRoTlNSZXNvbHZlciIpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGlt
cGxDb250ZW50LCAiICAgIFJlZlB0cjxYUGF0aE5TUmVzb2x2ZXI+IGN1c3RvbVJlc29sdmVyO1xu
Iik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBYUGF0
aE5TUmVzb2x2ZXIqIHJlc29sdmVyID0gdG9YUGF0aE5TUmVzb2x2ZXIoYXJncy5hdCgkcGFyYW1J
bmRleCkpO1xuIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwg
IiAgICBpZiAoIXJlc29sdmVyKSB7XG4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHB1c2go
QGltcGxDb250ZW50LCAiICAgICAgICBjdXN0b21SZXNvbHZlciA9IEpTQ3VzdG9tWFBhdGhOU1Jl
c29sdmVyOjpjcmVhdGUoZXhlYywgYXJncy5hdCgkcGFyYW1JbmRleCkpO1xuIik7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgaWYgKGV4ZWMtPmhh
ZEV4Y2VwdGlvbigpKVxuIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29u
dGVudCwgIiAgICAgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpO1xuIik7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgcmVzb2x2ZXIgPSBjdXN0
b21SZXNvbHZlci5nZXQoKTtcbiIpOwotICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1w
bENvbnRlbnQsICIgICAgfVxuIik7Ci0gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAiIC4gR2V0TmF0aXZl
VHlwZUZyb21TaWduYXR1cmUoJHBhcmFtZXRlcikgLiAiICRuYW1lID0gIiAuIEpTVmFsdWVUb05h
dGl2ZSgkcGFyYW1ldGVyLCAiYXJncy5hdCgkcGFyYW1JbmRleCkiKSAuICI7XG4iKTsKLQotICAg
ICAgICAgICAgICAgICAgICAgICAgIyBJZiBhIHBhcmFtZXRlciBpcyAiYW4gaW5kZXgiIGFuZCBp
dCdzIG5lZ2F0aXZlIGl0IHNob3VsZCB0aHJvdyBhbiBJTkRFWF9TSVpFX0VSUiBleGNlcHRpb24u
Ci0gICAgICAgICAgICAgICAgICAgICAgICAjIEJ1dCB0aGlzIG5lZWRzIHRvIGJlIGRvbmUgaW4g
dGhlIGJpbmRpbmdzLCBiZWNhdXNlIHRoZSB0eXBlIGlzIHVuc2lnbmVkIGFuZCB0aGUgZmFjdCB0
aGF0IGl0Ci0gICAgICAgICAgICAgICAgICAgICAgICAjIHdhcyBuZWdhdGl2ZSB3aWxsIGJlIGxv
c3QgYnkgdGhlIHRpbWUgd2UncmUgaW5zaWRlIHRoZSBET00uCi0gICAgICAgICAgICAgICAgICAg
ICAgICBpZiAoJHBhcmFtZXRlci0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IklzSW5kZXgifSkgewot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbXBsSW5jbHVkZXN7IkV4Y2VwdGlvbkNvZGUu
aCJ9ID0gMTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwg
IiAgICBpZiAoJG5hbWUgPCAwKSB7XG4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
dXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIElOREVYX1NJ
WkVfRVJSKTtcbiIpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250
ZW50LCAiICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTtcbiIpOworICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKCRwYXJhbWV0ZXItPnR5cGUgZXEgIlhQYXRoTlNSZXNvbHZlciIpIHsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBSZWZQdHI8
WFBhdGhOU1Jlc29sdmVyPiBjdXN0b21SZXNvbHZlcjtcbiIpOworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIFhQYXRoTlNSZXNvbHZlciogcmVzb2x2
ZXIgPSB0b1hQYXRoTlNSZXNvbHZlcihhcmdzLmF0KCRwYXJhbUluZGV4KSk7XG4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBpZiAoIXJlc29s
dmVyKSB7XG4iKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVu
dCwgIiAgICAgICAgY3VzdG9tUmVzb2x2ZXIgPSBKU0N1c3RvbVhQYXRoTlNSZXNvbHZlcjo6Y3Jl
YXRlKGV4ZWMsIGFyZ3MuYXQoJHBhcmFtSW5kZXgpKTtcbiIpOworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0
aW9uKCkpXG4iKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVu
dCwgIiAgICAgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpO1xuIik7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICAgIHJlc29sdmVyID0gY3Vz
dG9tUmVzb2x2ZXIuZ2V0KCk7XG4iKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdXNo
KEBpbXBsQ29udGVudCwgIiAgICB9XG4iKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxz
ZSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAg
IiAuIEdldE5hdGl2ZVR5cGVGcm9tU2lnbmF0dXJlKCRwYXJhbWV0ZXIpIC4gIiAkbmFtZSA9ICIg
LiBKU1ZhbHVlVG9OYXRpdmUoJHBhcmFtZXRlciwgImFyZ3MuYXQoJHBhcmFtSW5kZXgpIikgLiAi
O1xuIik7CisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIElmIGEgcGFyYW1ldGVyIGlz
ICJhbiBpbmRleCIgYW5kIGl0J3MgbmVnYXRpdmUgaXQgc2hvdWxkIHRocm93IGFuIElOREVYX1NJ
WkVfRVJSIGV4Y2VwdGlvbi4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIEJ1dCB0aGlz
IG5lZWRzIHRvIGJlIGRvbmUgaW4gdGhlIGJpbmRpbmdzLCBiZWNhdXNlIHRoZSB0eXBlIGlzIHVu
c2lnbmVkIGFuZCB0aGUgZmFjdCB0aGF0IGl0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IyB3YXMgbmVnYXRpdmUgd2lsbCBiZSBsb3N0IGJ5IHRoZSB0aW1lIHdlJ3JlIGluc2lkZSB0aGUg
RE9NLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkcGFyYW1ldGVyLT5leHRlbmRl
ZEF0dHJpYnV0ZXMtPnsiSXNJbmRleCJ9KSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRpbXBsSW5jbHVkZXN7IkV4Y2VwdGlvbkNvZGUuaCJ9ID0gMTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgaWYgKCRuYW1lIDwgMCkg
e1xuIik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50
LCAiICAgICAgICBzZXRET01FeGNlcHRpb24oZXhlYywgSU5ERVhfU0laRV9FUlIpO1xuIik7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAg
ICByZXR1cm4ganNVbmRlZmluZWQoKTtcbiIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICB9XG4iKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAg
IH0KIAotICAgICAgICAgICAgICAgICAgICAkZnVuY3Rpb25TdHJpbmcgLj0gIiwgIiBpZiAkcGFy
YW1JbmRleDsKKyAgICAgICAgICAgICAgICAgICAgICAgICRmdW5jdGlvblN0cmluZyAuPSAiLCAi
IGlmICRwYXJhbUluZGV4OwogCi0gICAgICAgICAgICAgICAgICAgIGlmICgkcGFyYW1ldGVyLT50
eXBlIGVxICJOb2RlRmlsdGVyIikgewotICAgICAgICAgICAgICAgICAgICAgICAgJGZ1bmN0aW9u
U3RyaW5nIC49ICIkbmFtZS5nZXQoKSI7Ci0gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAkZnVuY3Rpb25TdHJpbmcgLj0gJG5hbWU7CisgICAgICAg
ICAgICAgICAgICAgICAgICBpZiAoJHBhcmFtZXRlci0+dHlwZSBlcSAiTm9kZUZpbHRlciIpIHsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZnVuY3Rpb25TdHJpbmcgLj0gIiRuYW1lLmdl
dCgpIjsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJGZ1bmN0aW9uU3RyaW5nIC49ICRuYW1lOworICAgICAgICAgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgJHBhcmFtSW5kZXgrKzsKICAgICAgICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAkcGFyYW1JbmRleCsrOwotICAgICAg
ICAgICAgICAgIH0KIAotICAgICAgICAgICAgICAgIGlmICgkZnVuY3Rpb24tPnNpZ25hdHVyZS0+
ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Ik5lZWRzVXNlckdlc3R1cmVDaGVjayJ9KSB7Ci0gICAgICAg
ICAgICAgICAgICAgICRmdW5jdGlvblN0cmluZyAuPSAiLCAiIGlmICRwYXJhbUluZGV4OwotICAg
ICAgICAgICAgICAgICAgICAkZnVuY3Rpb25TdHJpbmcgLj0gInByb2Nlc3NpbmdVc2VyR2VzdHVy
ZShleGVjKSI7Ci0gICAgICAgICAgICAgICAgICAgICRwYXJhbUluZGV4Kys7Ci0gICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgICAgICAgICBpZiAoJGZ1bmN0aW9uLT5zaWduYXR1cmUtPmV4
dGVuZGVkQXR0cmlidXRlcy0+eyJOZWVkc1VzZXJHZXN0dXJlQ2hlY2sifSkgeworICAgICAgICAg
ICAgICAgICAgICAgICAgJGZ1bmN0aW9uU3RyaW5nIC49ICIsICIgaWYgJHBhcmFtSW5kZXg7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAkZnVuY3Rpb25TdHJpbmcgLj0gInByb2Nlc3NpbmdVc2Vy
R2VzdHVyZShleGVjKSI7CisgICAgICAgICAgICAgICAgICAgICAgICAkcGFyYW1JbmRleCsrOwor
ICAgICAgICAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVu
dCwgIlxuIik7Ci0gICAgICAgICAgICAgICAgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbkZ1bmN0aW9u
Q2FsbCgkZnVuY3Rpb24sICRmdW5jdGlvblN0cmluZywgJHBhcmFtSW5kZXgsICIgICAgIiwgJHBv
ZFR5cGUsICRpbXBsQ2xhc3NOYW1lKTsKKyAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENv
bnRlbnQsICJcbiIpOworICAgICAgICAgICAgICAgICAgICBHZW5lcmF0ZUltcGxlbWVudGF0aW9u
RnVuY3Rpb25DYWxsKCRmdW5jdGlvbiwgJGZ1bmN0aW9uU3RyaW5nLCAkcGFyYW1JbmRleCwgIiAg
ICAiLCAkcG9kVHlwZSwgJGltcGxDbGFzc05hbWUpOworICAgICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAifVxuXG4iKTsKICAgICAg
ICAgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9X
ZWJLaXRET01UZXN0T2JqLmNwcCBiL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmpl
Y3QvV2ViS2l0RE9NVGVzdE9iai5jcHAKaW5kZXggNjZlMGMyYjI3MGYyNWRhZDRkNTcxNTAzZmU3
MmY2NTg0YjVhMDZjNi4uNjM2NWQ5YjIwZGUzZWU5YWFjYTZmY2Q2YTVhOGY0ODc2YmU2NTZkMyAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRE
T01UZXN0T2JqLmNwcAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0
L1dlYktpdERPTVRlc3RPYmouY3BwCkBAIC0xNDEsNiArMTQxLDEyIEBAIHdlYmtpdF9kb21fdGVz
dF9vYmpfbWV0aG9kX3dpdGhfZXhjZXB0aW9uIChXZWJLaXRET01UZXN0T2JqICpzZWxmLCBHRXJy
b3IgKiplcnJvCiAKIC8qIFRPRE86IGN1c3RvbSBmdW5jdGlvbiB3ZWJraXRfZG9tX3Rlc3Rfb2Jq
X2N1c3RvbV9hcmdzX2FuZF9leGNlcHRpb24gKi8KIAorCisvKiBUT0RPOiBldmVudCBmdW5jdGlv
biB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2FkZF9ldmVudF9saXN0ZW5lciAqLworCisKKy8qIFRPRE86
IGV2ZW50IGZ1bmN0aW9uIHdlYmtpdF9kb21fdGVzdF9vYmpfcmVtb3ZlX2V2ZW50X2xpc3RlbmVy
ICovCisKIHZvaWQKIHdlYmtpdF9kb21fdGVzdF9vYmpfd2l0aF9keW5hbWljX2ZyYW1lIChXZWJL
aXRET01UZXN0T2JqICpzZWxmKQogewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0T2JqLmggYi9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RPYmouaAppbmRleCA4MzI0OTdhMDMzZGJk
ZWY1ZDA0ZGE1NzE1NThmMGYyMzFjYjZkNzQyLi4xZjkwZDdiYTNiY2ZkMjYxMzk1YjRjNjNkMTRk
NzFlZjQ4MDI0MWJlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9H
T2JqZWN0L1dlYktpdERPTVRlc3RPYmouaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RPYmouaApAQCAtNzAsNiArNzAsMTIgQEAgd2Via2l0
X2RvbV90ZXN0X29ial9tZXRob2Rfd2l0aF9leGNlcHRpb24gKFdlYktpdERPTVRlc3RPYmogKnNl
bGYsIEdFcnJvciAqKmVycm8KIAogLyogVE9ETzogY3VzdG9tIGZ1bmN0aW9uIHdlYmtpdF9kb21f
dGVzdF9vYmpfY3VzdG9tX2FyZ3NfYW5kX2V4Y2VwdGlvbiAqLwogCisKKy8qIFRPRE86IGV2ZW50
IGZ1bmN0aW9uIHdlYmtpdF9kb21fdGVzdF9vYmpfYWRkX2V2ZW50X2xpc3RlbmVyICovCisKKwor
LyogVE9ETzogZXZlbnQgZnVuY3Rpb24gd2Via2l0X2RvbV90ZXN0X29ial9yZW1vdmVfZXZlbnRf
bGlzdGVuZXIgKi8KKwogV0VCS0lUX0FQSSB2b2lkCiB3ZWJraXRfZG9tX3Rlc3Rfb2JqX3dpdGhf
ZHluYW1pY19mcmFtZSAoV2ViS2l0RE9NVGVzdE9iaiAqc2VsZik7CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAgYi9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCmluZGV4IGYwODljYTdkYjJkZTAw
OWI5M2QwODg5NWQ2NjViMWE3MjJmMTEzNmEuLmRhMDY1Y2FmMjQ3MGEwMjdiYmExNWMyYzUxNmRm
ZWRiYzExOGIyZGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdE9iai5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0T2JqLmNwcApAQCAtMjEsNiArMjEsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIkpTVGVzdE9iai5oIgogCisjaW5jbHVkZSAiSlNFdmVudExpc3RlbmVyLmgiCiAjaW5jbHVk
ZSAiSlNUZXN0T2JqLmgiCiAjaW5jbHVkZSAiSlNsb2cuaCIKICNpbmNsdWRlICJLVVJMLmgiCkBA
IC0xMjgsNyArMTI5LDcgQEAgYm9vbCBKU1Rlc3RPYmpDb25zdHJ1Y3Rvcjo6Z2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnQKICNkZWZpbmUgVEhVTktf
R0VORVJBVE9SKGdlbmVyYXRvcikKICNlbmRpZgogCi1zdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFs
dWUgSlNUZXN0T2JqUHJvdG90eXBlVGFibGVWYWx1ZXNbMjFdID0KK3N0YXRpYyBjb25zdCBIYXNo
VGFibGVWYWx1ZSBKU1Rlc3RPYmpQcm90b3R5cGVUYWJsZVZhbHVlc1syM10gPQogewogICAgIHsg
InZvaWRNZXRob2QiLCBEb250RGVsZXRlfEZ1bmN0aW9uLCAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8
TmF0aXZlRnVuY3Rpb24+KGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uVm9pZE1ldGhvZCksIChp
bnRwdHJfdCkwIFRIVU5LX0dFTkVSQVRPUigwKSB9LAogICAgIHsgInZvaWRNZXRob2RXaXRoQXJn
cyIsIERvbnREZWxldGV8RnVuY3Rpb24sIChpbnRwdHJfdClzdGF0aWNfY2FzdDxOYXRpdmVGdW5j
dGlvbj4oanNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25Wb2lkTWV0aG9kV2l0aEFyZ3MpLCAoaW50
cHRyX3QpMyBUSFVOS19HRU5FUkFUT1IoMCkgfSwKQEAgLTE0MCw2ICsxNDEsOCBAQCBzdGF0aWMg
Y29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0T2JqUHJvdG90eXBlVGFibGVWYWx1ZXNbMjFdID0K
ICAgICB7ICJjdXN0b21NZXRob2QiLCBEb250RGVsZXRlfEZ1bmN0aW9uLCAoaW50cHRyX3Qpc3Rh
dGljX2Nhc3Q8TmF0aXZlRnVuY3Rpb24+KGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uQ3VzdG9t
TWV0aG9kKSwgKGludHB0cl90KTAgVEhVTktfR0VORVJBVE9SKDApIH0sCiAgICAgeyAiY3VzdG9t
TWV0aG9kV2l0aEFyZ3MiLCBEb250RGVsZXRlfEZ1bmN0aW9uLCAoaW50cHRyX3Qpc3RhdGljX2Nh
c3Q8TmF0aXZlRnVuY3Rpb24+KGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uQ3VzdG9tTWV0aG9k
V2l0aEFyZ3MpLCAoaW50cHRyX3QpMyBUSFVOS19HRU5FUkFUT1IoMCkgfSwKICAgICB7ICJjdXN0
b21BcmdzQW5kRXhjZXB0aW9uIiwgRG9udERlbGV0ZXxGdW5jdGlvbiwgKGludHB0cl90KXN0YXRp
Y19jYXN0PE5hdGl2ZUZ1bmN0aW9uPihqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbkN1c3RvbUFy
Z3NBbmRFeGNlcHRpb24pLCAoaW50cHRyX3QpMSBUSFVOS19HRU5FUkFUT1IoMCkgfSwKKyAgICB7
ICJhZGRFdmVudExpc3RlbmVyIiwgRG9udERlbGV0ZXxGdW5jdGlvbiwgKGludHB0cl90KXN0YXRp
Y19jYXN0PE5hdGl2ZUZ1bmN0aW9uPihqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbkFkZEV2ZW50
TGlzdGVuZXIpLCAoaW50cHRyX3QpMyBUSFVOS19HRU5FUkFUT1IoMCkgfSwKKyAgICB7ICJyZW1v
dmVFdmVudExpc3RlbmVyIiwgRG9udERlbGV0ZXxGdW5jdGlvbiwgKGludHB0cl90KXN0YXRpY19j
YXN0PE5hdGl2ZUZ1bmN0aW9uPihqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvblJlbW92ZUV2ZW50
TGlzdGVuZXIpLCAoaW50cHRyX3QpMyBUSFVOS19HRU5FUkFUT1IoMCkgfSwKICAgICB7ICJ3aXRo
RHluYW1pY0ZyYW1lIiwgRG9udERlbGV0ZXxGdW5jdGlvbiwgKGludHB0cl90KXN0YXRpY19jYXN0
PE5hdGl2ZUZ1bmN0aW9uPihqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbldpdGhEeW5hbWljRnJh
bWUpLCAoaW50cHRyX3QpMCBUSFVOS19HRU5FUkFUT1IoMCkgfSwKICAgICB7ICJ3aXRoRHluYW1p
Y0ZyYW1lQW5kQXJnIiwgRG9udERlbGV0ZXxGdW5jdGlvbiwgKGludHB0cl90KXN0YXRpY19jYXN0
PE5hdGl2ZUZ1bmN0aW9uPihqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbldpdGhEeW5hbWljRnJh
bWVBbmRBcmcpLCAoaW50cHRyX3QpMSBUSFVOS19HRU5FUkFUT1IoMCkgfSwKICAgICB7ICJ3aXRo
RHluYW1pY0ZyYW1lQW5kT3B0aW9uYWxBcmciLCBEb250RGVsZXRlfEZ1bmN0aW9uLCAoaW50cHRy
X3Qpc3RhdGljX2Nhc3Q8TmF0aXZlRnVuY3Rpb24+KGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9u
V2l0aER5bmFtaWNGcmFtZUFuZE9wdGlvbmFsQXJnKSwgKGludHB0cl90KTIgVEhVTktfR0VORVJB
VE9SKDApIH0sCkBAIC00ODgsNiArNDkxLDM0IEBAIEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rl
c3RPYmpQcm90b3R5cGVGdW5jdGlvbkN1c3RvbUFyZ3NBbmRFeGNlcHRpb24oRXhlY1N0YXRlCiAg
ICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CiB9CiAKK0pTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rl
c3RPYmpQcm90b3R5cGVGdW5jdGlvbkFkZEV2ZW50TGlzdGVuZXIoRXhlY1N0YXRlKiBleGVjLCBK
U09iamVjdCosIEpTVmFsdWUgdGhpc1ZhbHVlLCBjb25zdCBBcmdMaXN0JiBhcmdzKQoreworICAg
IFVOVVNFRF9QQVJBTShhcmdzKTsKKyAgICBpZiAoIXRoaXNWYWx1ZS5pbmhlcml0cygmSlNUZXN0
T2JqOjpzX2luZm8pKQorICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihleGVjLCBUeXBlRXJyb3Ip
OworICAgIEpTVGVzdE9iaiogY2FzdGVkVGhpc09iaiA9IHN0YXRpY19jYXN0PEpTVGVzdE9iaio+
KGFzT2JqZWN0KHRoaXNWYWx1ZSkpOworICAgIFRlc3RPYmoqIGltcCA9IHN0YXRpY19jYXN0PFRl
c3RPYmoqPihjYXN0ZWRUaGlzT2JqLT5pbXBsKCkpOworICAgIEpTVmFsdWUgbGlzdGVuZXIgPSBh
cmdzLmF0KDEpOworICAgIGlmICghbGlzdGVuZXIuaXNPYmplY3QoKSkKKyAgICAgICAgcmV0dXJu
IGpzVW5kZWZpbmVkKCk7CisgICAgaW1wLT5hZGRFdmVudExpc3RlbmVyKHVzdHJpbmdUb0F0b21p
Y1N0cmluZyhhcmdzLmF0KDApLnRvU3RyaW5nKGV4ZWMpKSwgSlNFdmVudExpc3RlbmVyOjpjcmVh
dGUoYXNPYmplY3QobGlzdGVuZXIpLCBjYXN0ZWRUaGlzT2JqLCBmYWxzZSwgY3VycmVudFdvcmxk
KGV4ZWMpKSwgYXJncy5hdCgyKS50b0Jvb2xlYW4oZXhlYykpOworICAgIHJldHVybiBqc1VuZGVm
aW5lZCgpOworfQorCitKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0T2JqUHJvdG90eXBlRnVu
Y3Rpb25SZW1vdmVFdmVudExpc3RlbmVyKEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqLCBKU1Zh
bHVlIHRoaXNWYWx1ZSwgY29uc3QgQXJnTGlzdCYgYXJncykKK3sKKyAgICBVTlVTRURfUEFSQU0o
YXJncyk7CisgICAgaWYgKCF0aGlzVmFsdWUuaW5oZXJpdHMoJkpTVGVzdE9iajo6c19pbmZvKSkK
KyAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXhlYywgVHlwZUVycm9yKTsKKyAgICBKU1Rlc3RP
YmoqIGNhc3RlZFRoaXNPYmogPSBzdGF0aWNfY2FzdDxKU1Rlc3RPYmoqPihhc09iamVjdCh0aGlz
VmFsdWUpKTsKKyAgICBUZXN0T2JqKiBpbXAgPSBzdGF0aWNfY2FzdDxUZXN0T2JqKj4oY2FzdGVk
VGhpc09iai0+aW1wbCgpKTsKKyAgICBKU1ZhbHVlIGxpc3RlbmVyID0gYXJncy5hdCgxKTsKKyAg
ICBpZiAoIWxpc3RlbmVyLmlzT2JqZWN0KCkpCisgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgp
OworICAgIGltcC0+cmVtb3ZlRXZlbnRMaXN0ZW5lcih1c3RyaW5nVG9BdG9taWNTdHJpbmcoYXJn
cy5hdCgwKS50b1N0cmluZyhleGVjKSksIEpTRXZlbnRMaXN0ZW5lcjo6Y3JlYXRlKGFzT2JqZWN0
KGxpc3RlbmVyKSwgY2FzdGVkVGhpc09iaiwgZmFsc2UsIGN1cnJlbnRXb3JsZChleGVjKSkuZ2V0
KCksIGFyZ3MuYXQoMikudG9Cb29sZWFuKGV4ZWMpKTsKKyAgICByZXR1cm4ganNVbmRlZmluZWQo
KTsKK30KKwogSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9u
V2l0aER5bmFtaWNGcmFtZShFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiwgSlNWYWx1ZSB0aGlz
VmFsdWUsIGNvbnN0IEFyZ0xpc3QmIGFyZ3MpCiB7CiAgICAgVU5VU0VEX1BBUkFNKGFyZ3MpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmgg
Yi9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouaAppbmRleCAyM2Jk
ZDNlYjZhMjBjMjFlNDM0MmQ4ZjMyZjZiYmY4M2IzNDBjODk2Li5iNjVlODZmYWQ1ZWRiNGE5MjEw
ODI0ZDIzNWQwMDU1YzE5NmYzMTE5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RPYmouaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RPYmouaApAQCAtOTUsNiArOTUsOCBAQCBKU0M6OkpTVmFsdWUgSlNDX0hPU1Rf
Q0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk1ldGhvZFdpdGhFeGNlcHRpb24oSlNDOjpF
eAogSlNDOjpKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25D
dXN0b21NZXRob2QoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTT2JqZWN0KiwgSlNDOjpKU1ZhbHVl
LCBjb25zdCBKU0M6OkFyZ0xpc3QmKTsKIEpTQzo6SlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVz
dE9ialByb3RvdHlwZUZ1bmN0aW9uQ3VzdG9tTWV0aG9kV2l0aEFyZ3MoSlNDOjpFeGVjU3RhdGUq
LCBKU0M6OkpTT2JqZWN0KiwgSlNDOjpKU1ZhbHVlLCBjb25zdCBKU0M6OkFyZ0xpc3QmKTsKIEpT
Qzo6SlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uQ3VzdG9t
QXJnc0FuZEV4Y2VwdGlvbihKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNPYmplY3QqLCBKU0M6OkpT
VmFsdWUsIGNvbnN0IEpTQzo6QXJnTGlzdCYpOworSlNDOjpKU1ZhbHVlIEpTQ19IT1NUX0NBTEwg
anNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25BZGRFdmVudExpc3RlbmVyKEpTQzo6RXhlY1N0YXRl
KiwgSlNDOjpKU09iamVjdCosIEpTQzo6SlNWYWx1ZSwgY29uc3QgSlNDOjpBcmdMaXN0Jik7CitK
U0M6OkpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvblJlbW92
ZUV2ZW50TGlzdGVuZXIoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTT2JqZWN0KiwgSlNDOjpKU1Zh
bHVlLCBjb25zdCBKU0M6OkFyZ0xpc3QmKTsKIEpTQzo6SlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpz
VGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uV2l0aER5bmFtaWNGcmFtZShKU0M6OkV4ZWNTdGF0ZSos
IEpTQzo6SlNPYmplY3QqLCBKU0M6OkpTVmFsdWUsIGNvbnN0IEpTQzo6QXJnTGlzdCYpOwogSlND
OjpKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25XaXRoRHlu
YW1pY0ZyYW1lQW5kQXJnKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU09iamVjdCosIEpTQzo6SlNW
YWx1ZSwgY29uc3QgSlNDOjpBcmdMaXN0Jik7CiBKU0M6OkpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBq
c1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbldpdGhEeW5hbWljRnJhbWVBbmRPcHRpb25hbEFyZyhK
U0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNPYmplY3QqLCBKU0M6OkpTVmFsdWUsIGNvbnN0IEpTQzo6
QXJnTGlzdCYpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2Jq
Qy9ET01UZXN0T2JqLmggYi9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRl
c3RPYmouaAppbmRleCA5NWI2MDA1OTIwMDdlOTI0YWVjNTRiMTgwODU3YTZkNTRkMDg0ZmQzLi5j
Y2I4ZTgyMDIwNTE4ZjcwMDg0YzAwOWJiOThjZjUwZjM1YWM1NzkyIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RPYmouaAorKysgYi9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RPYmouaApAQCAtMzEsNiArMzEsNyBA
QAogQGNsYXNzIERPTVRlc3RPYmo7CiBAY2xhc3MgRE9NbG9nOwogQGNsYXNzIE5TU3RyaW5nOwor
QHByb3RvY29sIERPTUV2ZW50TGlzdGVuZXI7CiAKIEBpbnRlcmZhY2UgRE9NVGVzdE9iaiA6IERP
TU9iamVjdAogLSAoaW50KXJlYWRPbmx5SW50QXR0cjsKQEAgLTYwLDYgKzYxLDggQEAKIC0gKHZv
aWQpY3VzdG9tTWV0aG9kOwogLSAodm9pZCljdXN0b21NZXRob2RXaXRoQXJnczooaW50KWludEFy
ZyBzdHJBcmc6KE5TU3RyaW5nICopc3RyQXJnIG9iakFyZzooRE9NVGVzdE9iaiAqKW9iakFyZzsK
IC0gKHZvaWQpY3VzdG9tQXJnc0FuZEV4Y2VwdGlvbjooRE9NbG9nICopaW50QXJnOworLSAodm9p
ZClhZGRFdmVudExpc3RlbmVyOihOU1N0cmluZyAqKXR5cGUgbGlzdGVuZXI6KGlkIDxET01FdmVu
dExpc3RlbmVyPilsaXN0ZW5lciB1c2VDYXB0dXJlOihCT09MKXVzZUNhcHR1cmU7CistICh2b2lk
KXJlbW92ZUV2ZW50TGlzdGVuZXI6KE5TU3RyaW5nICopdHlwZSBsaXN0ZW5lcjooaWQgPERPTUV2
ZW50TGlzdGVuZXI+KWxpc3RlbmVyIHVzZUNhcHR1cmU6KEJPT0wpdXNlQ2FwdHVyZTsKIC0gKHZv
aWQpd2l0aER5bmFtaWNGcmFtZTsKIC0gKHZvaWQpd2l0aER5bmFtaWNGcmFtZUFuZEFyZzooaW50
KWludEFyZzsKIC0gKHZvaWQpd2l0aER5bmFtaWNGcmFtZUFuZE9wdGlvbmFsQXJnOihpbnQpaW50
QXJnIG9wdGlvbmFsQXJnOihpbnQpb3B0aW9uYWxBcmc7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RPYmoubW0gYi9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RPYmoubW0KaW5kZXggZGM3MDg2N2FkODY0MzU0MjZh
MWNhNDVmOTZmMzQ2MGZiZDBkMWNkYS4uZTc4NTM4YzBmNDQwODc4MDkzNTg1ODI4Mjk1YWFjMjgy
Mzk4Yzc3YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9E
T01UZXN0T2JqLm1tCisrKyBiL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9N
VGVzdE9iai5tbQpAQCAtMzcsOCArMzcsMTAgQEAKICNpbXBvcnQgIkRPTVN0eWxlU2hlZXRJbnRl
cm5hbC5oIgogI2ltcG9ydCAiRE9NVGVzdE9iakludGVybmFsLmgiCiAjaW1wb3J0ICJET01sb2dJ
bnRlcm5hbC5oIgorI2ltcG9ydCAiRXZlbnRMaXN0ZW5lci5oIgogI2ltcG9ydCAiRXhjZXB0aW9u
SGFuZGxlcnMuaCIKICNpbXBvcnQgIktVUkwuaCIKKyNpbXBvcnQgIk9iakNFdmVudExpc3RlbmVy
LmgiCiAjaW1wb3J0ICJUZXN0T2JqLmgiCiAjaW1wb3J0ICJUaHJlYWRDaGVjay5oIgogI2ltcG9y
dCAiV2ViQ29yZU9iakNFeHRyYXMuaCIKQEAgLTIwOCw2ICsyMTAsMTggQEAKICAgICBXZWJDb3Jl
OjpyYWlzZU9uRE9NRXJyb3IoZWMpOwogfQogCistICh2b2lkKWFkZEV2ZW50TGlzdGVuZXI6KE5T
U3RyaW5nICopdHlwZSBsaXN0ZW5lcjooaWQgPERPTUV2ZW50TGlzdGVuZXI+KWxpc3RlbmVyIHVz
ZUNhcHR1cmU6KEJPT0wpdXNlQ2FwdHVyZQoreworICAgIFJlZlB0cjxXZWJDb3JlOjpFdmVudExp
c3RlbmVyPiBuYXRpdmVFdmVudExpc3RlbmVyID0gV2ViQ29yZTo6T2JqQ0V2ZW50TGlzdGVuZXI6
OndyYXAobGlzdGVuZXIpOworICAgIElNUEwtPmFkZEV2ZW50TGlzdGVuZXIodHlwZSwgV1RGOjpn
ZXRQdHIobmF0aXZlRXZlbnRMaXN0ZW5lciksIHVzZUNhcHR1cmUpOworfQorCistICh2b2lkKXJl
bW92ZUV2ZW50TGlzdGVuZXI6KE5TU3RyaW5nICopdHlwZSBsaXN0ZW5lcjooaWQgPERPTUV2ZW50
TGlzdGVuZXI+KWxpc3RlbmVyIHVzZUNhcHR1cmU6KEJPT0wpdXNlQ2FwdHVyZQoreworICAgIFJl
ZlB0cjxXZWJDb3JlOjpFdmVudExpc3RlbmVyPiBuYXRpdmVFdmVudExpc3RlbmVyID0gV2ViQ29y
ZTo6T2JqQ0V2ZW50TGlzdGVuZXI6OndyYXAobGlzdGVuZXIpOworICAgIElNUEwtPnJlbW92ZUV2
ZW50TGlzdGVuZXIodHlwZSwgV1RGOjpnZXRQdHIobmF0aXZlRXZlbnRMaXN0ZW5lciksIHVzZUNh
cHR1cmUpOworfQorCiAtICh2b2lkKXdpdGhEeW5hbWljRnJhbWUKIHsKICAgICBJTVBMLT53aXRo
RHluYW1pY0ZyYW1lKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9UZXN0T2JqLmlkbCBiL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRs
CmluZGV4IGViMzBlODdhMDk0YWY2OGE2N2I2NjE4NzBmNGYyYjQ0NmU5OGUzOTIuLjgxOTNiMjlh
ZGU4NDM1ZjU4YTYxODg0NTMzYmY1MTZkNmQzYjI2ZWIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRsCisrKyBiL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L1Rlc3RPYmouaWRsCkBAIC02MCw2ICs2MCwxMyBAQCBtb2R1bGUgdGVzdCB7CiAg
ICAgICAgIFtDdXN0b21Bcmd1bWVudEhhbmRsaW5nXSB2b2lkIGN1c3RvbUFyZ3NBbmRFeGNlcHRp
b24oaW4gbG9nIGludEFyZykKICAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwogCisg
ICAgICAgIHZvaWQgYWRkRXZlbnRMaXN0ZW5lcihpbiBET01TdHJpbmcgdHlwZSwgCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbiBFdmVudExpc3RlbmVyIGxpc3RlbmVyLCAKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGluIGJvb2xlYW4gdXNlQ2FwdHVyZSk7CisgICAgICAg
IHZvaWQgcmVtb3ZlRXZlbnRMaXN0ZW5lcihpbiBET01TdHJpbmcgdHlwZSwgCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbiBFdmVudExpc3RlbmVyIGxpc3RlbmVyLCAKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGJvb2xlYW4gdXNlQ2FwdHVyZSk7CisKICAg
ICAgICAgLy8gJ0NhbGxXaXRoJyBleHRlbmRlZCBhdHRyaWJ1dGUKICAgICAgICAgW0NhbGxXaXRo
PUR5bmFtaWNGcmFtZV0gdm9pZCB3aXRoRHluYW1pY0ZyYW1lKCk7CiAgICAgICAgIFtDYWxsV2l0
aD1EeW5hbWljRnJhbWVdIHZvaWQgd2l0aER5bmFtaWNGcmFtZUFuZEFyZyhpbiBsb25nIGludEFy
Zyk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RP
YmouY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmNwcApp
bmRleCA5NjFiYjUwZTYxNmE0NmIzNWY3ZmQ2MWI1YTc1NmFmOTgwMzJhMDM2Li45YjA4ZTVkZTA2
NDVjZjg0MmQ2ZDU3OTVlZDA3YTRhNTM3YmY3MjU0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RPYmouY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE9iai5jcHAKQEAgLTI1NSw2ICsyNTUsMjggQEAgc3RhdGlj
IHY4OjpIYW5kbGU8djg6OlZhbHVlPiBjdXN0b21BcmdzQW5kRXhjZXB0aW9uQ2FsbGJhY2soY29u
c3Qgdjg6OkFyZ3VtZW50cyYKICAgICByZXR1cm4gdjg6OkhhbmRsZTx2ODo6VmFsdWU+KCk7CiB9
CiAKK3N0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gYWRkRXZlbnRMaXN0ZW5lckNhbGxiYWNr
KGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCit7CisgICAgSU5DX1NUQVRTKCJET00uVGVzdE9i
ai5hZGRFdmVudExpc3RlbmVyKCkiKTsKKyAgICBSZWZQdHI8RXZlbnRMaXN0ZW5lcj4gbGlzdGVu
ZXIgPSBWOERPTVdyYXBwZXI6OmdldEV2ZW50TGlzdGVuZXIoYXJnc1sxXSwgZmFsc2UsIExpc3Rl
bmVyRmluZE9yQ3JlYXRlKTsKKyAgICBpZiAobGlzdGVuZXIpIHsKKyAgICAgICAgVjhUZXN0T2Jq
Ojp0b05hdGl2ZShhcmdzLkhvbGRlcigpKS0+YWRkRXZlbnRMaXN0ZW5lcih2OFZhbHVlVG9BdG9t
aWNXZWJDb3JlU3RyaW5nKGFyZ3NbMF0pLCBsaXN0ZW5lciwgYXJnc1syXS0+Qm9vbGVhblZhbHVl
KCkpOworICAgICAgICBjcmVhdGVIaWRkZW5EZXBlbmRlbmN5KGFyZ3MuSG9sZGVyKCksIGFyZ3Nb
MV0sIFY4VGVzdE9iajo6ZXZlbnRMaXN0ZW5lckNhY2hlSW5kZXgpOworICAgIH0KKyAgICByZXR1
cm4gdjg6OlVuZGVmaW5lZCgpOworfQorCitzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHJl
bW92ZUV2ZW50TGlzdGVuZXJDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQorewor
ICAgIElOQ19TVEFUUygiRE9NLlRlc3RPYmoucmVtb3ZlRXZlbnRMaXN0ZW5lcigpIik7CisgICAg
UmVmUHRyPEV2ZW50TGlzdGVuZXI+IGxpc3RlbmVyID0gVjhET01XcmFwcGVyOjpnZXRFdmVudExp
c3RlbmVyKGFyZ3NbMV0sIGZhbHNlLCBMaXN0ZW5lckZpbmRPbmx5KTsKKyAgICBpZiAobGlzdGVu
ZXIpIHsKKyAgICAgICAgVjhUZXN0T2JqOjp0b05hdGl2ZShhcmdzLkhvbGRlcigpKS0+cmVtb3Zl
RXZlbnRMaXN0ZW5lcih2OFZhbHVlVG9BdG9taWNXZWJDb3JlU3RyaW5nKGFyZ3NbMF0pLCBsaXN0
ZW5lci5nZXQoKSwgYXJnc1syXS0+Qm9vbGVhblZhbHVlKCkpOworICAgICAgICByZW1vdmVIaWRk
ZW5EZXBlbmRlbmN5KGFyZ3MuSG9sZGVyKCksIGFyZ3NbMV0sIFY4VGVzdE9iajo6ZXZlbnRMaXN0
ZW5lckNhY2hlSW5kZXgpOworICAgIH0KKyAgICByZXR1cm4gdjg6OlVuZGVmaW5lZCgpOworfQor
CiBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHdpdGhEeW5hbWljRnJhbWVDYWxsYmFjayhj
b25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogewogICAgIElOQ19TVEFUUygiRE9NLlRlc3RPYmou
d2l0aER5bmFtaWNGcmFtZSIpOwpAQCAtNDgyLDYgKzUwNCw4IEBAIHN0YXRpYyBjb25zdCBCYXRj
aGVkQ2FsbGJhY2sgVGVzdE9iakNhbGxiYWNrc1tdID0gewogICAgIHsibWV0aG9kV2l0aEV4Y2Vw
dGlvbiIsIFRlc3RPYmpJbnRlcm5hbDo6bWV0aG9kV2l0aEV4Y2VwdGlvbkNhbGxiYWNrfSwKICAg
ICB7ImN1c3RvbU1ldGhvZCIsIFY4VGVzdE9iajo6Y3VzdG9tTWV0aG9kQ2FsbGJhY2t9LAogICAg
IHsiY3VzdG9tTWV0aG9kV2l0aEFyZ3MiLCBWOFRlc3RPYmo6OmN1c3RvbU1ldGhvZFdpdGhBcmdz
Q2FsbGJhY2t9LAorICAgIHsiYWRkRXZlbnRMaXN0ZW5lciIsIFRlc3RPYmpJbnRlcm5hbDo6YWRk
RXZlbnRMaXN0ZW5lckNhbGxiYWNrfSwKKyAgICB7InJlbW92ZUV2ZW50TGlzdGVuZXIiLCBUZXN0
T2JqSW50ZXJuYWw6OnJlbW92ZUV2ZW50TGlzdGVuZXJDYWxsYmFja30sCiAgICAgeyJ3aXRoRHlu
YW1pY0ZyYW1lIiwgVGVzdE9iakludGVybmFsOjp3aXRoRHluYW1pY0ZyYW1lQ2FsbGJhY2t9LAog
ICAgIHsid2l0aER5bmFtaWNGcmFtZUFuZEFyZyIsIFRlc3RPYmpJbnRlcm5hbDo6d2l0aER5bmFt
aWNGcmFtZUFuZEFyZ0NhbGxiYWNrfSwKICAgICB7IndpdGhEeW5hbWljRnJhbWVBbmRPcHRpb25h
bEFyZyIsIFRlc3RPYmpJbnRlcm5hbDo6d2l0aER5bmFtaWNGcmFtZUFuZE9wdGlvbmFsQXJnQ2Fs
bGJhY2t9LApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnQuaWRsIGIvV2ViQ29y
ZS9kb20vTWVzc2FnZVBvcnQuaWRsCmluZGV4IDkzMTI0MzA3ZTk1MjNmMzJlNGJmNTNkZWEyMWRl
NjY4NzlmNjk3NDYuLjdiZGU0NWU0ZjJjYjQ2YjNjODZhM2YyNjI0Y2IxMjhjYmFiZmNlMmQgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0LmlkbAorKysgYi9XZWJDb3JlL2RvbS9N
ZXNzYWdlUG9ydC5pZGwKQEAgLTQzLDEyICs0MywxMiBAQCBtb2R1bGUgZXZlbnRzIHsKICAgICAg
ICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25tZXNzYWdlOwogCiAgICAgICAgIC8vIEV2ZW50
VGFyZ2V0IGludGVyZmFjZQotICAgICAgICBbSlNDQ3VzdG9tXSB2b2lkIGFkZEV2ZW50TGlzdGVu
ZXIoaW4gRE9NU3RyaW5nIHR5cGUsIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW4gRXZlbnRMaXN0ZW5lciBsaXN0ZW5lciwgCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbiBib29sZWFuIHVzZUNhcHR1cmUpOwotICAgICAgICBb
SlNDQ3VzdG9tXSB2b2lkIHJlbW92ZUV2ZW50TGlzdGVuZXIoaW4gRE9NU3RyaW5nIHR5cGUsIAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gRXZlbnRMaXN0
ZW5lciBsaXN0ZW5lciwgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbiBib29sZWFuIHVzZUNhcHR1cmUpOworICAgICAgICB2b2lkIGFkZEV2ZW50TGlzdGVu
ZXIoaW4gRE9NU3RyaW5nIHR5cGUsIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4g
RXZlbnRMaXN0ZW5lciBsaXN0ZW5lciwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
biBib29sZWFuIHVzZUNhcHR1cmUpOworICAgICAgICB2b2lkIHJlbW92ZUV2ZW50TGlzdGVuZXIo
aW4gRE9NU3RyaW5nIHR5cGUsIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4g
RXZlbnRMaXN0ZW5lciBsaXN0ZW5lciwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbiBib29sZWFuIHVzZUNhcHR1cmUpOwogICAgICAgICBib29sZWFuIGRpc3BhdGNoRXZlbnQo
aW4gRXZlbnQgZXZ0KQogICAgICAgICAgICAgcmFpc2VzKEV2ZW50RXhjZXB0aW9uKTsKICNlbmRp
ZgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vTm9kZS5pZGwgYi9XZWJDb3JlL2RvbS9Ob2RlLmlk
bAppbmRleCAzYWYyMGEwNzc2ZTZlMmYzOTM0MWQ3ODdmNGUwYzczODBmMTZjMzFmLi43YmM2ZDFk
ZjBkMDdiYzRiZDVhNmUzYjI2M2FmZWRiNjcwMjA4ZDM1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Rv
bS9Ob2RlLmlkbAorKysgYi9XZWJDb3JlL2RvbS9Ob2RlLmlkbApAQCAtMTM0LDEyICsxMzQsMTIg
QEAgbW9kdWxlIGNvcmUgewogCiAjaWYgIWRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpIHx8
ICFMQU5HVUFHRV9PQkpFQ1RJVkVfQwogI2lmICFkZWZpbmVkKExBTkdVQUdFX0dPQkpFQ1QpIHx8
ICFMQU5HVUFHRV9HT0JKRUNUCi0gICAgICAgIFtKU0NDdXN0b21dIHZvaWQgYWRkRXZlbnRMaXN0
ZW5lcihpbiBET01TdHJpbmcgdHlwZSwgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbiBFdmVudExpc3RlbmVyIGxpc3RlbmVyLCAKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGluIGJvb2xlYW4gdXNlQ2FwdHVyZSk7Ci0gICAgICAg
IFtKU0NDdXN0b21dIHZvaWQgcmVtb3ZlRXZlbnRMaXN0ZW5lcihpbiBET01TdHJpbmcgdHlwZSwg
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBFdmVudExp
c3RlbmVyIGxpc3RlbmVyLCAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGluIGJvb2xlYW4gdXNlQ2FwdHVyZSk7CisgICAgICAgIHZvaWQgYWRkRXZlbnRMaXN0
ZW5lcihpbiBET01TdHJpbmcgdHlwZSwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
biBFdmVudExpc3RlbmVyIGxpc3RlbmVyLCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGluIGJvb2xlYW4gdXNlQ2FwdHVyZSk7CisgICAgICAgIHZvaWQgcmVtb3ZlRXZlbnRMaXN0ZW5l
cihpbiBET01TdHJpbmcgdHlwZSwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
biBFdmVudExpc3RlbmVyIGxpc3RlbmVyLCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGluIGJvb2xlYW4gdXNlQ2FwdHVyZSk7CiAgICAgICAgIGJvb2xlYW4gZGlzcGF0Y2hFdmVu
dChpbiBFdmVudCBldmVudCkKICAgICAgICAgICAgIHJhaXNlcyhFdmVudEV4Y2VwdGlvbik7CiAj
ZW5kaWYKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0RPTUFwcGxpY2F0aW9u
Q2FjaGUuaWRsIGIvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5p
ZGwKaW5kZXggOTc5NGJhZjZjZmM1OGU5YWU3MTdlZWYxYzQ2MzRiMzY4MWMwMjljZC4uODUyNWZl
NjJhYTc4NmU1YTkxMTc4NWJlODg5M2ZkMzc4YTQ5MmMwMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9s
b2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5pZGwKKysrIGIvV2ViQ29yZS9sb2Fk
ZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5pZGwKQEAgLTU1LDEyICs1NSwxMiBAQCBt
b2R1bGUgb2ZmbGluZSB7CiAgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9ub2Jzb2xl
dGU7CiAKICAgICAgICAgLy8gRXZlbnRUYXJnZXQgaW50ZXJmYWNlCi0gICAgICAgIFtKU0NDdXN0
b21dIHZvaWQgYWRkRXZlbnRMaXN0ZW5lcihpbiBET01TdHJpbmcgdHlwZSwgCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBFdmVudExpc3RlbmVyIGxpc3RlbmVy
LCAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGJvb2xlYW4g
dXNlQ2FwdHVyZSk7Ci0gICAgICAgIFtKU0NDdXN0b21dIHZvaWQgcmVtb3ZlRXZlbnRMaXN0ZW5l
cihpbiBET01TdHJpbmcgdHlwZSwgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbiBFdmVudExpc3RlbmVyIGxpc3RlbmVyLCAKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGJvb2xlYW4gdXNlQ2FwdHVyZSk7CisgICAg
ICAgIHZvaWQgYWRkRXZlbnRMaXN0ZW5lcihpbiBET01TdHJpbmcgdHlwZSwgCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbiBFdmVudExpc3RlbmVyIGxpc3RlbmVyLCAKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGluIGJvb2xlYW4gdXNlQ2FwdHVyZSk7CisgICAgICAgIHZv
aWQgcmVtb3ZlRXZlbnRMaXN0ZW5lcihpbiBET01TdHJpbmcgdHlwZSwgCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbiBFdmVudExpc3RlbmVyIGxpc3RlbmVyLCAKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGluIGJvb2xlYW4gdXNlQ2FwdHVyZSk7CiAgICAgICAg
IGJvb2xlYW4gZGlzcGF0Y2hFdmVudChpbiBFdmVudCBldnQpCiAgICAgICAgICAgICByYWlzZXMo
RXZlbnRFeGNlcHRpb24pOwogICAgIH07CmRpZmYgLS1naXQgYS9XZWJDb3JlL25vdGlmaWNhdGlv
bnMvTm90aWZpY2F0aW9uLmlkbCBiL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24u
aWRsCmluZGV4IGI5OWRhOTYzZjc0NWM2MjFmYWJhNGU2YzY5N2RhYTE1M2NlYzAxYjEuLjdmMDE4
YjdmNmE3Nzc4MTM2NDYzZDc0ZmZlZTVjODc2ZDg1NzM1MTcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
bm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsCisrKyBiL1dlYkNvcmUvbm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb24uaWRsCkBAIC00MywxMiArNDMsMTIgQEAgbW9kdWxlIHRocmVhZHMgewog
ICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbmNsb3NlOwogCiAgICAgICAgIC8vIEV2
ZW50VGFyZ2V0IGludGVyZmFjZQotICAgICAgICBbSlNDQ3VzdG9tXSB2b2lkIGFkZEV2ZW50TGlz
dGVuZXIoaW4gRE9NU3RyaW5nIHR5cGUsIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW4gRXZlbnRMaXN0ZW5lciBsaXN0ZW5lciwgCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBib29sZWFuIHVzZUNhcHR1cmUpOwotICAgICAg
ICBbSlNDQ3VzdG9tXSB2b2lkIHJlbW92ZUV2ZW50TGlzdGVuZXIoaW4gRE9NU3RyaW5nIHR5cGUs
IAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gRXZlbnRM
aXN0ZW5lciBsaXN0ZW5lciwgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbiBib29sZWFuIHVzZUNhcHR1cmUpOworICAgICAgICB2b2lkIGFkZEV2ZW50TGlz
dGVuZXIoaW4gRE9NU3RyaW5nIHR5cGUsIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW4gRXZlbnRMaXN0ZW5lciBsaXN0ZW5lciwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbiBib29sZWFuIHVzZUNhcHR1cmUpOworICAgICAgICB2b2lkIHJlbW92ZUV2ZW50TGlzdGVu
ZXIoaW4gRE9NU3RyaW5nIHR5cGUsIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW4gRXZlbnRMaXN0ZW5lciBsaXN0ZW5lciwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbiBib29sZWFuIHVzZUNhcHR1cmUpOwogICAgICAgICBib29sZWFuIGRpc3BhdGNoRXZl
bnQoaW4gRXZlbnQgZXZ0KQogICAgICAgICAgICAgcmFpc2VzKEV2ZW50RXhjZXB0aW9uKTsKICAg
ICB9OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmlkbCBiL1dlYkNvcmUv
cGFnZS9FdmVudFNvdXJjZS5pZGwKaW5kZXggNTdiZDgwN2FjNjU5MTc5NTc2MjllM2Y0MzFhZmQx
OTQ2YmUzMTAyOS4uYmUwMTA5OGMxMGYyNTgwZDY3NDhhZjZjNTE1YjA3YzE3OWI0NDk1YiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmlkbAorKysgYi9XZWJDb3JlL3BhZ2Uv
RXZlbnRTb3VyY2UuaWRsCkBAIC01MywxMiArNTMsMTIgQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAg
ICAgIHZvaWQgY2xvc2UoKTsKIAogICAgICAgICAvLyBFdmVudFRhcmdldCBpbnRlcmZhY2UKLSAg
ICAgICAgW0pTQ0N1c3RvbV0gdm9pZCBhZGRFdmVudExpc3RlbmVyKGluIERPTVN0cmluZyB0eXBl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gRXZlbnRMaXN0
ZW5lciBsaXN0ZW5lciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGluIGJvb2xlYW4gdXNlQ2FwdHVyZSk7Ci0gICAgICAgIFtKU0NDdXN0b21dIHZvaWQgcmVtb3Zl
RXZlbnRMaXN0ZW5lcihpbiBET01TdHJpbmcgdHlwZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGluIEV2ZW50TGlzdGVuZXIgbGlzdGVuZXIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBib29sZWFuIHVzZUNhcHR1
cmUpOworICAgICAgICB2b2lkIGFkZEV2ZW50TGlzdGVuZXIoaW4gRE9NU3RyaW5nIHR5cGUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBFdmVudExpc3RlbmVyIGxpc3RlbmVyLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gYm9vbGVhbiB1c2VDYXB0dXJlKTsKKyAg
ICAgICAgdm9pZCByZW1vdmVFdmVudExpc3RlbmVyKGluIERPTVN0cmluZyB0eXBlLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gRXZlbnRMaXN0ZW5lciBsaXN0ZW5lciwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGJvb2xlYW4gdXNlQ2FwdHVyZSk7CiAg
ICAgICAgIGJvb2xlYW4gZGlzcGF0Y2hFdmVudChpbiBFdmVudCBldnQpCiAgICAgICAgICAgICBy
YWlzZXMoRXZlbnRFeGNlcHRpb24pOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N2Zy9TVkdFbGVt
ZW50SW5zdGFuY2UuaWRsIGIvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudEluc3RhbmNlLmlkbAppbmRl
eCBkMjNmZWEyYjI0MTAzM2E5OTYxNzI4MzQwNzQzODFmMjgwZmVmOWE4Li4zZmNhZGI5MDBiNWJm
ZWM4MjFiN2Y0NWIyNDkwM2U5Mjk3MGM5ZjcyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9TVkdF
bGVtZW50SW5zdGFuY2UuaWRsCisrKyBiL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5p
ZGwKQEAgLTkwLDEyICs5MCwxMiBAQCBtb2R1bGUgc3ZnIHsKICAgICAgICAgYXR0cmlidXRlIFtE
b250RW51bV0gRXZlbnRMaXN0ZW5lciBvbnN1Ym1pdDsKICAgICAgICAgYXR0cmlidXRlIFtEb250
RW51bV0gRXZlbnRMaXN0ZW5lciBvbnVubG9hZDsKIAotICAgICAgICBbSlNDQ3VzdG9tXSB2b2lk
IGFkZEV2ZW50TGlzdGVuZXIoaW4gRE9NU3RyaW5nIHR5cGUsIAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW4gRXZlbnRMaXN0ZW5lciBsaXN0ZW5lciwgCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBib29sZWFuIHVzZUNhcHR1
cmUpOwotICAgICAgICBbSlNDQ3VzdG9tXSB2b2lkIHJlbW92ZUV2ZW50TGlzdGVuZXIoaW4gRE9N
U3RyaW5nIHR5cGUsIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW4gRXZlbnRMaXN0ZW5lciBsaXN0ZW5lciwgCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbiBib29sZWFuIHVzZUNhcHR1cmUpOworICAgICAgICB2b2lk
IGFkZEV2ZW50TGlzdGVuZXIoaW4gRE9NU3RyaW5nIHR5cGUsIAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW4gRXZlbnRMaXN0ZW5lciBsaXN0ZW5lciwgCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbiBib29sZWFuIHVzZUNhcHR1cmUpOworICAgICAgICB2b2lkIHJlbW92
ZUV2ZW50TGlzdGVuZXIoaW4gRE9NU3RyaW5nIHR5cGUsIAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW4gRXZlbnRMaXN0ZW5lciBsaXN0ZW5lciwgCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbiBib29sZWFuIHVzZUNhcHR1cmUpOwogICAgICAgICBib29sZWFu
IGRpc3BhdGNoRXZlbnQoaW4gRXZlbnQgZXZlbnQpCiAgICAgICAgICAgICByYWlzZXMoRXZlbnRF
eGNlcHRpb24pOwogI2VuZGlmIC8qIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICovCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0LmlkbCBiL1dlYkNvcmUvd2Vi
c29ja2V0cy9XZWJTb2NrZXQuaWRsCmluZGV4IDE3MDc0NzhlMjVjODA1MTkzMjE1YmUyZjJmYzNm
MzY2MGRmMzkyMmIuLmNjNGEwN2I2YzhhM2I4MjJkZTJlOTg2M2FhMTI1Nzg4ZmJjMGM5ZDMgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXQuaWRsCisrKyBiL1dlYkNvcmUv
d2Vic29ja2V0cy9XZWJTb2NrZXQuaWRsCkBAIC01NywxMiArNTcsMTIgQEAgbW9kdWxlIHdlYnNv
Y2tldHMgewogICAgICAgICB2b2lkIGNsb3NlKCk7CiAKICAgICAgICAgLy8gRXZlbnRUYXJnZXQg
aW50ZXJmYWNlCi0gICAgICAgIFtKU0NDdXN0b21dIHZvaWQgYWRkRXZlbnRMaXN0ZW5lcihpbiBE
T01TdHJpbmcgdHlwZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGluIEV2ZW50TGlzdGVuZXIgbGlzdGVuZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbiBib29sZWFuIHVzZUNhcHR1cmUpOwotICAgICAgICBbSlNDQ3VzdG9t
XSB2b2lkIHJlbW92ZUV2ZW50TGlzdGVuZXIoaW4gRE9NU3RyaW5nIHR5cGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBFdmVudExpc3RlbmVyIGxpc3Rl
bmVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gYm9v
bGVhbiB1c2VDYXB0dXJlKTsKKyAgICAgICAgdm9pZCBhZGRFdmVudExpc3RlbmVyKGluIERPTVN0
cmluZyB0eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gRXZlbnRMaXN0ZW5l
ciBsaXN0ZW5lciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGJvb2xlYW4gdXNl
Q2FwdHVyZSk7CisgICAgICAgIHZvaWQgcmVtb3ZlRXZlbnRMaXN0ZW5lcihpbiBET01TdHJpbmcg
dHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEV2ZW50TGlzdGVuZXIg
bGlzdGVuZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBib29sZWFuIHVz
ZUNhcHR1cmUpOwogICAgICAgICBib29sZWFuIGRpc3BhdGNoRXZlbnQoaW4gRXZlbnQgZXZ0KQog
ICAgICAgICAgICAgcmFpc2VzKEV2ZW50RXhjZXB0aW9uKTsKICAgICB9OwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS93b3JrZXJzL0Fic3RyYWN0V29ya2VyLmlkbCBiL1dlYkNvcmUvd29ya2Vycy9BYnN0
cmFjdFdvcmtlci5pZGwKaW5kZXggNDM2MWRmYzRmNjRkODNiMzlhYzY1ZDczNzE2NjVkMjY1MGUy
MjcwZS4uZjA1ZWMxNzFlMjUzZTNjOWQ2ZTQ5MGI5MTcxN2Q2ZTg3NTFlODI5ZiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS93b3JrZXJzL0Fic3RyYWN0V29ya2VyLmlkbAorKysgYi9XZWJDb3JlL3dvcmtl
cnMvQWJzdHJhY3RXb3JrZXIuaWRsCkBAIC0zOCwxMiArMzgsMTIgQEAgbW9kdWxlIHRocmVhZHMg
ewogCiAgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9uZXJyb3I7CiAKLSAgICAgICAg
W0pTQ0N1c3RvbV0gdm9pZCBhZGRFdmVudExpc3RlbmVyKGluIERPTVN0cmluZyB0eXBlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gRXZlbnRMaXN0ZW5lciBs
aXN0ZW5lciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGJv
b2xlYW4gdXNlQ2FwdHVyZSk7Ci0gICAgICAgIFtKU0NDdXN0b21dIHZvaWQgcmVtb3ZlRXZlbnRM
aXN0ZW5lcihpbiBET01TdHJpbmcgdHlwZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGluIEV2ZW50TGlzdGVuZXIgbGlzdGVuZXIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBib29sZWFuIHVzZUNhcHR1cmUpOwor
ICAgICAgICB2b2lkIGFkZEV2ZW50TGlzdGVuZXIoaW4gRE9NU3RyaW5nIHR5cGUsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbiBFdmVudExpc3RlbmVyIGxpc3RlbmVyLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW4gYm9vbGVhbiB1c2VDYXB0dXJlKTsKKyAgICAgICAg
dm9pZCByZW1vdmVFdmVudExpc3RlbmVyKGluIERPTVN0cmluZyB0eXBlLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW4gRXZlbnRMaXN0ZW5lciBsaXN0ZW5lciwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGluIGJvb2xlYW4gdXNlQ2FwdHVyZSk7CiAgICAgICAg
IGJvb2xlYW4gZGlzcGF0Y2hFdmVudChpbiBFdmVudCBldnQpCiAgICAgICAgICAgICByYWlzZXMo
RXZlbnRFeGNlcHRpb24pOwogICAgIH07CmRpZmYgLS1naXQgYS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyQ29udGV4dC5pZGwgYi9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5pZGwKaW5kZXgg
YWJiOGVhODM1YzZlZjY0NjRjZDQyYzM2MzRkY2ZjNDJjYzZjZmI2My4uY2NjMjU4ODA4OWUwMjY1
NzczZjEzZmY1N2NkMTk3YTZkOWRmOWUxZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS93b3JrZXJzL1dv
cmtlckNvbnRleHQuaWRsCisrKyBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmlkbApA
QCAtNjIsMTIgKzYyLDEyIEBAIG1vZHVsZSB0aHJlYWRzIHsKIAogCiAgICAgICAgIC8vIEV2ZW50
VGFyZ2V0IGludGVyZmFjZQotICAgICAgICBbSlNDQ3VzdG9tXSB2b2lkIGFkZEV2ZW50TGlzdGVu
ZXIoaW4gRE9NU3RyaW5nIHR5cGUsIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW4gRXZlbnRMaXN0ZW5lciBsaXN0ZW5lciwgCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbiBib29sZWFuIHVzZUNhcHR1cmUpOwotICAgICAgICBb
SlNDQ3VzdG9tXSB2b2lkIHJlbW92ZUV2ZW50TGlzdGVuZXIoaW4gRE9NU3RyaW5nIHR5cGUsIAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gRXZlbnRMaXN0
ZW5lciBsaXN0ZW5lciwgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbiBib29sZWFuIHVzZUNhcHR1cmUpOworICAgICAgICB2b2lkIGFkZEV2ZW50TGlzdGVu
ZXIoaW4gRE9NU3RyaW5nIHR5cGUsIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4g
RXZlbnRMaXN0ZW5lciBsaXN0ZW5lciwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
biBib29sZWFuIHVzZUNhcHR1cmUpOworICAgICAgICB2b2lkIHJlbW92ZUV2ZW50TGlzdGVuZXIo
aW4gRE9NU3RyaW5nIHR5cGUsIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4g
RXZlbnRMaXN0ZW5lciBsaXN0ZW5lciwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbiBib29sZWFuIHVzZUNhcHR1cmUpOwogICAgICAgICBib29sZWFuIGRpc3BhdGNoRXZlbnQo
aW4gRXZlbnQgZXZ0KQogICAgICAgICAgICAgcmFpc2VzKEV2ZW50RXhjZXB0aW9uKTsKIApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaWRsIGIvV2ViQ29yZS94bWwvWE1M
SHR0cFJlcXVlc3QuaWRsCmluZGV4IDVhODZmZTUwZTE0MjMzN2IwYTQ0NDk0NjRlZmE0MjQ1NzBj
MzU5MzkuLjBjYTIyMDU2NzlhOTIxZTNkZmE1YjBhZmJmMWExOGVlMDdkNDA4NmQgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmlkbAorKysgYi9XZWJDb3JlL3htbC9YTUxI
dHRwUmVxdWVzdC5pZGwKQEAgLTkxLDEyICs5MSwxMiBAQCBtb2R1bGUgeG1sIHsKICAgICAgICAg
W0N1c3RvbV0gdm9pZCBvdmVycmlkZU1pbWVUeXBlKGluIERPTVN0cmluZyBvdmVycmlkZSk7CiAK
ICAgICAgICAgLy8gRXZlbnRUYXJnZXQgaW50ZXJmYWNlCi0gICAgICAgIFtKU0NDdXN0b21dIHZv
aWQgYWRkRXZlbnRMaXN0ZW5lcihpbiBET01TdHJpbmcgdHlwZSwgCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBFdmVudExpc3RlbmVyIGxpc3RlbmVyLCAKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGJvb2xlYW4gdXNlQ2Fw
dHVyZSk7Ci0gICAgICAgIFtKU0NDdXN0b21dIHZvaWQgcmVtb3ZlRXZlbnRMaXN0ZW5lcihpbiBE
T01TdHJpbmcgdHlwZSwgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbiBFdmVudExpc3RlbmVyIGxpc3RlbmVyLCAKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGluIGJvb2xlYW4gdXNlQ2FwdHVyZSk7CisgICAgICAgIHZv
aWQgYWRkRXZlbnRMaXN0ZW5lcihpbiBET01TdHJpbmcgdHlwZSwgCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbiBFdmVudExpc3RlbmVyIGxpc3RlbmVyLCAKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGluIGJvb2xlYW4gdXNlQ2FwdHVyZSk7CisgICAgICAgIHZvaWQgcmVt
b3ZlRXZlbnRMaXN0ZW5lcihpbiBET01TdHJpbmcgdHlwZSwgCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbiBFdmVudExpc3RlbmVyIGxpc3RlbmVyLCAKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGluIGJvb2xlYW4gdXNlQ2FwdHVyZSk7CiAgICAgICAgIGJvb2xl
YW4gZGlzcGF0Y2hFdmVudChpbiBFdmVudCBldnQpCiAgICAgICAgICAgICByYWlzZXMoRXZlbnRF
eGNlcHRpb24pOwogICAgIH07CmRpZmYgLS1naXQgYS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVz
dFVwbG9hZC5pZGwgYi9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFVwbG9hZC5pZGwKaW5kZXgg
YTcxMmEzNzZhODYxOWYyNjIxZWEwZTg1YWNmNWUxNTc4MDQwMGUxMi4uNWExODU2N2EyMTViMjNj
YWVjNjI5NjIzNWY4ODFhY2Q0MWNmNTA1YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWE1MSHR0
cFJlcXVlc3RVcGxvYWQuaWRsCisrKyBiL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0VXBsb2Fk
LmlkbApAQCAtNDIsMTIgKzQyLDEyIEBAIG1vZHVsZSB4bWwgewogICAgICAgICBhdHRyaWJ1dGUg
RXZlbnRMaXN0ZW5lciBvbnByb2dyZXNzOwogCiAgICAgICAgIC8vIEV2ZW50VGFyZ2V0IGludGVy
ZmFjZQotICAgICAgICBbSlNDQ3VzdG9tXSB2b2lkIGFkZEV2ZW50TGlzdGVuZXIoaW4gRE9NU3Ry
aW5nIHR5cGUsIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4g
RXZlbnRMaXN0ZW5lciBsaXN0ZW5lciwgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbiBib29sZWFuIHVzZUNhcHR1cmUpOwotICAgICAgICBbSlNDQ3VzdG9tXSB2
b2lkIHJlbW92ZUV2ZW50TGlzdGVuZXIoaW4gRE9NU3RyaW5nIHR5cGUsIAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gRXZlbnRMaXN0ZW5lciBsaXN0ZW5l
ciwgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBib29s
ZWFuIHVzZUNhcHR1cmUpOworICAgICAgICB2b2lkIGFkZEV2ZW50TGlzdGVuZXIoaW4gRE9NU3Ry
aW5nIHR5cGUsIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gRXZlbnRMaXN0ZW5l
ciBsaXN0ZW5lciwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBib29sZWFuIHVz
ZUNhcHR1cmUpOworICAgICAgICB2b2lkIHJlbW92ZUV2ZW50TGlzdGVuZXIoaW4gRE9NU3RyaW5n
IHR5cGUsIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gRXZlbnRMaXN0ZW5l
ciBsaXN0ZW5lciwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBib29sZWFu
IHVzZUNhcHR1cmUpOwogICAgICAgICBib29sZWFuIGRpc3BhdGNoRXZlbnQoaW4gRXZlbnQgZXZ0
KQogICAgICAgICAgICAgcmFpc2VzKEV2ZW50RXhjZXB0aW9uKTsKICAgICB9Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>