<?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>128853</bug_id>
          
          <creation_ts>2014-02-14 16:15:05 -0800</creation_ts>
          <short_desc>Spread operator has a bad time when applied to call function</short_desc>
          <delta_ts>2014-02-24 22:54:14 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>528+ (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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Oliver Hunt">oliver</reporter>
          <assigned_to name="Oliver Hunt">oliver</assigned_to>
          <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>981023</commentid>
    <comment_count>0</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2014-02-14 16:15:05 -0800</bug_when>
    <thetext>function apply()
{
    return this.apply(...arguments);
}

Crashes in a sad and unhappy way, similar bad behaviour happens for call :-(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>981024</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2014-02-14 16:15:39 -0800</bug_when>
    <thetext>&lt;rdar://problem/16075924&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>984101</commentid>
    <comment_count>2</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2014-02-24 16:12:36 -0800</bug_when>
    <thetext>Making this bug track the more complicated .call case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>984153</commentid>
    <comment_count>3</comment_count>
      <attachid>225111</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2014-02-24 19:00:14 -0800</bug_when>
    <thetext>Created attachment 225111
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>984167</commentid>
    <comment_count>4</comment_count>
      <attachid>225111</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2014-02-24 19:55:30 -0800</bug_when>
    <thetext>Comment on attachment 225111
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>984190</commentid>
    <comment_count>5</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2014-02-24 22:54:14 -0800</bug_when>
    <thetext>Committed r164630: &lt;http://trac.webkit.org/changeset/164630&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>225111</attachid>
            <date>2014-02-24 19:00:14 -0800</date>
            <delta_ts>2014-02-24 19:55:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-128853-20140224190015.patch</filename>
            <type>text/plain</type>
            <size>47854</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY0NTk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
ZjIyNGVlOWY3N2VkYWNmMGQ3M2VhYTcwNjAzZDUwZDQ2NWI3ZWY0Li44NDk0Y2RjMjMzMDZiZmYw
NDVmODQ0ZDQ5M2QwMmM4NTY0Yzc4ZmVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0OSBAQAorMjAxNC0wMi0yNCAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgor
CisgICAgICAgIFNwcmVhZCBvcGVyYXRvciBoYXMgYSBiYWQgdGltZSB3aGVuIGFwcGxpZWQgdG8g
Y2FsbCBmdW5jdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTI4ODUzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgRm9sbG93IG9uIGZyb20gdGhlIHByZXZpb3VzIHBhdGNoIHRoZSBhZGRlZCBhbiBleHRy
YSBzbG90IHRvCisgICAgICAgIG9wX2NhbGxfdmFyYXJncyAoYW5kIF9jYWxsLCBfY2FsbF9ldmFs
LCBfY29uc3RydWN0KS4gIFdlIG5vdworICAgICAgICB1c2UgdGhlIHNsb3QgYXMgYW4gb2Zmc2V0
IHRvIGluIGVmZmVjdCBhY3QgYXMgYSAnc2xpY2UnIG9uCisgICAgICAgIHRoZSBzcHJlYWQgc3Vi
amVjdC4gIFRoaXMgYWxsb3dzIHVzIHRvIGF1dG9tYXRpY2FsbHkgcmV0YWluCisgICAgICAgIGFs
bCBvdXIgZXhpc3RpbmcgYXJndW1lbnQgYW5kIGFycmF5IG9wdGltaXNhdG9ucy4gIE1vc3Qgb2YK
KyAgICAgICAgdGhpcyBwYXRjaCBpcyBzaW1wbHkgdGhyZWFkaW5nIHRoZSBvZmZzZXQgYXJvdW5k
LgorCisgICAgICAgICogYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcDoKKyAgICAgICAgKEpTQzo6Q29k
ZUJsb2NrOjpkdW1wQnl0ZWNvZGUpOgorICAgICAgICAqIGJ5dGVjb21waWxlci9CeXRlY29kZUdl
bmVyYXRvci5jcHA6CisgICAgICAgIChKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0Q2FsbCk6
CisgICAgICAgIChKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0Q2FsbFZhcmFyZ3MpOgorICAg
ICAgICAqIGJ5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oOgorICAgICAgICAqIGJ5dGVj
b21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwOgorICAgICAgICAoSlNDOjpnZXRBcmd1bWVudEJ5VmFs
KToKKyAgICAgICAgKEpTQzo6Q2FsbEZ1bmN0aW9uQ2FsbERvdE5vZGU6OmVtaXRCeXRlY29kZSk6
CisgICAgICAgIChKU0M6OkFwcGx5RnVuY3Rpb25DYWxsRG90Tm9kZTo6ZW1pdEJ5dGVjb2RlKToK
KyAgICAgICAgKiBpbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHA6CisgICAgICAgIChKU0M6OnNp
emVGcmFtZUZvclZhcmFyZ3MpOgorICAgICAgICAoSlNDOjpsb2FkVmFyYXJncyk6CisgICAgICAg
ICogaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaDoKKyAgICAgICAgKiBqaXQvQ0NhbGxIZWxwZXJz
Lmg6CisgICAgICAgIChKU0M6OkNDYWxsSGVscGVyczo6c2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0
YXRlKToKKyAgICAgICAgKiBqaXQvSklULmg6CisgICAgICAgICogaml0L0pJVENhbGwuY3BwOgor
ICAgICAgICAoSlNDOjpKSVQ6OmNvbXBpbGVMb2FkVmFyYXJncyk6CisgICAgICAgICogaml0L0pJ
VElubGluZXMuaDoKKyAgICAgICAgKEpTQzo6SklUOjpjYWxsT3BlcmF0aW9uKToKKyAgICAgICAg
KiBqaXQvSklUT3BlcmF0aW9ucy5jcHA6CisgICAgICAgICogaml0L0pJVE9wZXJhdGlvbnMuaDoK
KyAgICAgICAgKiBsbGludC9MTEludFNsb3dQYXRocy5jcHA6CisgICAgICAgIChKU0M6OkxMSW50
OjpMTElOVF9TTE9XX1BBVEhfREVDTCk6CisgICAgICAgICogcnVudGltZS9Bcmd1bWVudHMuY3Bw
OgorICAgICAgICAoSlNDOjpBcmd1bWVudHM6OmNvcHlUb0FyZ3VtZW50cyk6CisgICAgICAgICog
cnVudGltZS9Bcmd1bWVudHMuaDoKKyAgICAgICAgKiBydW50aW1lL0pTQXJyYXkuY3BwOgorICAg
ICAgICAoSlNDOjpKU0FycmF5Ojpjb3B5VG9Bcmd1bWVudHMpOgorICAgICAgICAqIHJ1bnRpbWUv
SlNBcnJheS5oOgorCiAyMDE0LTAyLTI0ICBUYW1hcyBHZXJnZWx5ICA8dGdlcmdlbHkudS1zemVn
ZWRAcGFydG5lci5zYW1zdW5nLmNvbT4KIAogICAgICAgICBDb2RlIGNsZWFudXA6IHJlbW92ZSBs
ZWZ0b3ZlciBFTkFCTEUoV09SS0VSUykgbWFjcm9zIGFuZCBzdXBwb3J0LgpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAppbmRleCAyYTU2YTNjMzYxZWEyNDk4
MGZlZTY3Y2QxZDQ1ZjlkYWY5ZTY3MTkyLi5kM2ZmNTViOWViODgxYTVlMTllYzRkZDFiMTdkZGJk
MTgzNzQ1YzE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29k
ZUJsb2NrLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2Nr
LmNwcApAQCAtMTE5NCw5ICsxMTk0LDEwIEBAIHZvaWQgQ29kZUJsb2NrOjpkdW1wQnl0ZWNvZGUo
UHJpbnRTdHJlYW0mIG91dCwgRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJbnN0cnVjdGlvCiAgICAg
ICAgICAgICBpbnQgdGhpc1ZhbHVlID0gKCsraXQpLT51Lm9wZXJhbmQ7CiAgICAgICAgICAgICBp
bnQgYXJndW1lbnRzID0gKCsraXQpLT51Lm9wZXJhbmQ7CiAgICAgICAgICAgICBpbnQgZmlyc3RG
cmVlUmVnaXN0ZXIgPSAoKytpdCktPnUub3BlcmFuZDsKKyAgICAgICAgICAgIGludCB2YXJBcmdP
ZmZzZXQgPSAoKytpdCktPnUub3BlcmFuZDsKICAgICAgICAgICAgICsraXQ7CiAgICAgICAgICAg
ICBwcmludExvY2F0aW9uQW5kT3Aob3V0LCBleGVjLCBsb2NhdGlvbiwgaXQsICJjYWxsX3ZhcmFy
Z3MiKTsKLSAgICAgICAgICAgIG91dC5wcmludGYoIiVzLCAlcywgJXMsICVzLCAlZCIsIHJlZ2lz
dGVyTmFtZShyZXN1bHQpLmRhdGEoKSwgcmVnaXN0ZXJOYW1lKGNhbGxlZSkuZGF0YSgpLCByZWdp
c3Rlck5hbWUodGhpc1ZhbHVlKS5kYXRhKCksIHJlZ2lzdGVyTmFtZShhcmd1bWVudHMpLmRhdGEo
KSwgZmlyc3RGcmVlUmVnaXN0ZXIpOworICAgICAgICAgICAgb3V0LnByaW50ZigiJXMsICVzLCAl
cywgJXMsICVkLCAlZCIsIHJlZ2lzdGVyTmFtZShyZXN1bHQpLmRhdGEoKSwgcmVnaXN0ZXJOYW1l
KGNhbGxlZSkuZGF0YSgpLCByZWdpc3Rlck5hbWUodGhpc1ZhbHVlKS5kYXRhKCksIHJlZ2lzdGVy
TmFtZShhcmd1bWVudHMpLmRhdGEoKSwgZmlyc3RGcmVlUmVnaXN0ZXIsIHZhckFyZ09mZnNldCk7
CiAgICAgICAgICAgICBkdW1wVmFsdWVQcm9maWxpbmcob3V0LCBpdCwgaGFzUHJpbnRlZFByb2Zp
bGluZyk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcAppbmRl
eCBkNzA5Y2YxMmVhNTNjODMzYTk1Y2I1MjE0OWExZjgyODNiNTcyZmY1Li5iZjNkODQwZjgyZmJl
N2UwMWJiN2E1N2VlZGVjYmQ2N2MyYjU3MTgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcApAQCAtMTczMCw4
ICsxNzMwLDEzIEBAIFJlZ2lzdGVySUQqIEJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0Q2FsbChPcGNv
ZGVJRCBvcGNvZGVJRCwgUmVnaXN0ZXJJRCogZHN0LCBSZWdpCiAgICAgICAgIGlmIChuICYmIG4t
Pm1fZXhwci0+aXNTcHJlYWRFeHByZXNzaW9uKCkpIHsKICAgICAgICAgICAgIFJFTEVBU0VfQVNT
RVJUKCFuLT5tX25leHQpOwogICAgICAgICAgICAgYXV0byBleHByZXNzaW9uID0gc3RhdGljX2Nh
c3Q8U3ByZWFkRXhwcmVzc2lvbk5vZGUqPihuLT5tX2V4cHIpLT5leHByZXNzaW9uKCk7Ci0gICAg
ICAgICAgICBleHByZXNzaW9uLT5lbWl0Qnl0ZWNvZGUoKnRoaXMsIGNhbGxBcmd1bWVudHMuYXJn
dW1lbnRSZWdpc3RlcigwKSk7Ci0gICAgICAgICAgICByZXR1cm4gZW1pdENhbGxWYXJhcmdzKGRz
dCwgZnVuYywgY2FsbEFyZ3VtZW50cy50aGlzUmVnaXN0ZXIoKSwgY2FsbEFyZ3VtZW50cy5hcmd1
bWVudFJlZ2lzdGVyKDApLCBuZXdUZW1wb3JhcnkoKSwgY2FsbEFyZ3VtZW50cy5wcm9maWxlSG9v
a1JlZ2lzdGVyKCksIGRpdm90LCBkaXZvdFN0YXJ0LCBkaXZvdEVuZCk7CisgICAgICAgICAgICBS
ZWZQdHI8UmVnaXN0ZXJJRD4gYXJndW1lbnRSZWdpc3RlcjsKKyAgICAgICAgICAgIGlmIChleHBy
ZXNzaW9uLT5pc1Jlc29sdmVOb2RlKCkgJiYgd2lsbFJlc29sdmVUb0FyZ3VtZW50cyhzdGF0aWNf
Y2FzdDxSZXNvbHZlTm9kZSo+KGV4cHJlc3Npb24pLT5pZGVudGlmaWVyKCkpICYmICFzeW1ib2xU
YWJsZSgpLnNsb3dBcmd1bWVudHMoKSkKKyAgICAgICAgICAgICAgICBhcmd1bWVudFJlZ2lzdGVy
ID0gdW5jaGVja2VkUmVnaXN0ZXJGb3JBcmd1bWVudHMoKTsKKyAgICAgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgICAgICBhcmd1bWVudFJlZ2lzdGVyID0gZXhwcmVzc2lvbi0+ZW1pdEJ5dGVjb2Rl
KCp0aGlzLCBjYWxsQXJndW1lbnRzLmFyZ3VtZW50UmVnaXN0ZXIoMCkpOworICAgICAgICAgICAg
UmVmUHRyPFJlZ2lzdGVySUQ+IHRoaXNSZWdpc3RlciA9IGVtaXRNb3ZlKG5ld1RlbXBvcmFyeSgp
LCBjYWxsQXJndW1lbnRzLnRoaXNSZWdpc3RlcigpKTsKKyAgICAgICAgICAgIHJldHVybiBlbWl0
Q2FsbFZhcmFyZ3MoZHN0LCBmdW5jLCBjYWxsQXJndW1lbnRzLnRoaXNSZWdpc3RlcigpLCBhcmd1
bWVudFJlZ2lzdGVyLmdldCgpLCBuZXdUZW1wb3JhcnkoKSwgMCwgY2FsbEFyZ3VtZW50cy5wcm9m
aWxlSG9va1JlZ2lzdGVyKCksIGRpdm90LCBkaXZvdFN0YXJ0LCBkaXZvdEVuZCk7CiAgICAgICAg
IH0KICAgICAgICAgZm9yICg7IG47IG4gPSBuLT5tX25leHQpCiAgICAgICAgICAgICBlbWl0Tm9k
ZShjYWxsQXJndW1lbnRzLmFyZ3VtZW50UmVnaXN0ZXIoYXJndW1lbnQrKyksIG4pOwpAQCAtMTc4
MSw3ICsxNzg2LDcgQEAgUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRDYWxsKE9w
Y29kZUlEIG9wY29kZUlELCBSZWdpc3RlcklEKiBkc3QsIFJlZ2kKICAgICByZXR1cm4gZHN0Owog
fQogCi1SZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdENhbGxWYXJhcmdzKFJlZ2lz
dGVySUQqIGRzdCwgUmVnaXN0ZXJJRCogZnVuYywgUmVnaXN0ZXJJRCogdGhpc1JlZ2lzdGVyLCBS
ZWdpc3RlcklEKiBhcmd1bWVudHMsIFJlZ2lzdGVySUQqIGZpcnN0RnJlZVJlZ2lzdGVyLCBSZWdp
c3RlcklEKiBwcm9maWxlSG9va1JlZ2lzdGVyLCBjb25zdCBKU1RleHRQb3NpdGlvbiYgZGl2b3Qs
IGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBkaXZvdFN0YXJ0LCBjb25zdCBKU1RleHRQb3NpdGlvbiYg
ZGl2b3RFbmQpCitSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdENhbGxWYXJhcmdz
KFJlZ2lzdGVySUQqIGRzdCwgUmVnaXN0ZXJJRCogZnVuYywgUmVnaXN0ZXJJRCogdGhpc1JlZ2lz
dGVyLCBSZWdpc3RlcklEKiBhcmd1bWVudHMsIFJlZ2lzdGVySUQqIGZpcnN0RnJlZVJlZ2lzdGVy
LCBpbnQzMl90IGZpcnN0VmFyQXJnT2Zmc2V0LCBSZWdpc3RlcklEKiBwcm9maWxlSG9va1JlZ2lz
dGVyLCBjb25zdCBKU1RleHRQb3NpdGlvbiYgZGl2b3QsIGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBk
aXZvdFN0YXJ0LCBjb25zdCBKU1RleHRQb3NpdGlvbiYgZGl2b3RFbmQpCiB7CiAgICAgaWYgKG1f
c2hvdWxkRW1pdFByb2ZpbGVIb29rcykgewogICAgICAgICBlbWl0TW92ZShwcm9maWxlSG9va1Jl
Z2lzdGVyLCBmdW5jKTsKQEAgLTE4MDAsNyArMTgwNSw3IEBAIFJlZ2lzdGVySUQqIEJ5dGVjb2Rl
R2VuZXJhdG9yOjplbWl0Q2FsbFZhcmFyZ3MoUmVnaXN0ZXJJRCogZHN0LCBSZWdpc3RlcklEKiBm
dW5jCiAgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKHRoaXNSZWdpc3Rlci0+aW5kZXgoKSk7CiAg
ICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKGFyZ3VtZW50cy0+aW5kZXgoKSk7CiAgICAgaW5zdHJ1
Y3Rpb25zKCkuYXBwZW5kKGZpcnN0RnJlZVJlZ2lzdGVyLT5pbmRleCgpKTsKLSAgICBpbnN0cnVj
dGlvbnMoKS5hcHBlbmQoMCk7CisgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKGZpcnN0VmFyQXJn
T2Zmc2V0KTsKICAgICBpbnN0cnVjdGlvbnMoKS5hcHBlbmQoYXJyYXlQcm9maWxlKTsKICAgICBp
bnN0cnVjdGlvbnMoKS5hcHBlbmQocHJvZmlsZSk7CiAgICAgaWYgKG1fc2hvdWxkRW1pdFByb2Zp
bGVIb29rcykgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxl
ci9CeXRlY29kZUdlbmVyYXRvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxl
ci9CeXRlY29kZUdlbmVyYXRvci5oCmluZGV4IDFkZmY1M2Y5ODMwNDgyNTI2ZTQxYWNjNDU5OTVl
MjBiOTc1NmNhNGIuLjhlMGI4NmRjZjYyNGExNTM2YzgxOWM1NzAxM2FlZjBmOGI3Njc2NmYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5l
cmF0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2Rl
R2VuZXJhdG9yLmgKQEAgLTM4Myw3ICszODMsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAg
RXhwZWN0ZWRGdW5jdGlvbiBleHBlY3RlZEZ1bmN0aW9uRm9ySWRlbnRpZmllcihjb25zdCBJZGVu
dGlmaWVyJik7CiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXRDYWxsKFJlZ2lzdGVySUQqIGRzdCwg
UmVnaXN0ZXJJRCogZnVuYywgRXhwZWN0ZWRGdW5jdGlvbiwgQ2FsbEFyZ3VtZW50cyYsIGNvbnN0
IEpTVGV4dFBvc2l0aW9uJiBkaXZvdCwgY29uc3QgSlNUZXh0UG9zaXRpb24mIGRpdm90U3RhcnQs
IGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBkaXZvdEVuZCk7CiAgICAgICAgIFJlZ2lzdGVySUQqIGVt
aXRDYWxsRXZhbChSZWdpc3RlcklEKiBkc3QsIFJlZ2lzdGVySUQqIGZ1bmMsIENhbGxBcmd1bWVu
dHMmLCBjb25zdCBKU1RleHRQb3NpdGlvbiYgZGl2b3QsIGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBk
aXZvdFN0YXJ0LCBjb25zdCBKU1RleHRQb3NpdGlvbiYgZGl2b3RFbmQpOwotICAgICAgICBSZWdp
c3RlcklEKiBlbWl0Q2FsbFZhcmFyZ3MoUmVnaXN0ZXJJRCogZHN0LCBSZWdpc3RlcklEKiBmdW5j
LCBSZWdpc3RlcklEKiB0aGlzUmVnaXN0ZXIsIFJlZ2lzdGVySUQqIGFyZ3VtZW50cywgUmVnaXN0
ZXJJRCogZmlyc3RGcmVlUmVnaXN0ZXIsIFJlZ2lzdGVySUQqIHByb2ZpbGVIb29rUmVnaXN0ZXIs
IGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBkaXZvdCwgY29uc3QgSlNUZXh0UG9zaXRpb24mIGRpdm90
U3RhcnQsIGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBkaXZvdEVuZCk7CisgICAgICAgIFJlZ2lzdGVy
SUQqIGVtaXRDYWxsVmFyYXJncyhSZWdpc3RlcklEKiBkc3QsIFJlZ2lzdGVySUQqIGZ1bmMsIFJl
Z2lzdGVySUQqIHRoaXNSZWdpc3RlciwgUmVnaXN0ZXJJRCogYXJndW1lbnRzLCBSZWdpc3RlcklE
KiBmaXJzdEZyZWVSZWdpc3RlciwgaW50MzJfdCBmaXJzdFZhckFyZ09mZnNldCwgUmVnaXN0ZXJJ
RCogcHJvZmlsZUhvb2tSZWdpc3RlciwgY29uc3QgSlNUZXh0UG9zaXRpb24mIGRpdm90LCBjb25z
dCBKU1RleHRQb3NpdGlvbiYgZGl2b3RTdGFydCwgY29uc3QgSlNUZXh0UG9zaXRpb24mIGRpdm90
RW5kKTsKIAogICAgICAgICB2b2lkIGVtaXRFbnVtZXJhdGlvbihUaHJvd2FibGVFeHByZXNzaW9u
RGF0YSogZW51bWVyYXRpb25Ob2RlLCBFeHByZXNzaW9uTm9kZSogc3ViamVjdE5vZGUsIGNvbnN0
IHN0ZDo6ZnVuY3Rpb248dm9pZChCeXRlY29kZUdlbmVyYXRvciYsIFJlZ2lzdGVySUQqKT4mIGNh
bGxCYWNrKTsKICAgICAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
bXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKaW5kZXggNzNkMmY3YjVmOGU3OTlkY2VlYTZiZWU4NTcx
ODU3MjZkMTBhOWU1YS4uNDBlNDI3ZTE5YzY5ODU3NmU0MDNjYWZjNWEwN2UxNWQ3MWFkODJkNCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVn
ZW4uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2Rl
Z2VuLmNwcApAQCAtNTI5LDIwICs1MjksNDggQEAgUmVnaXN0ZXJJRCogRnVuY3Rpb25DYWxsRG90
Tm9kZTo6ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsIFJlZ2kKICAg
ICByZXR1cm4gZ2VuZXJhdG9yLmVtaXRDYWxsKHJldHVyblZhbHVlLmdldCgpLCBmdW5jdGlvbi5n
ZXQoKSwgTm9FeHBlY3RlZEZ1bmN0aW9uLCBjYWxsQXJndW1lbnRzLCBkaXZvdCgpLCBkaXZvdFN0
YXJ0KCksIGRpdm90RW5kKCkpOwogfQogCitzdGF0aWMgUmVnaXN0ZXJJRCogZ2V0QXJndW1lbnRC
eVZhbChCeXRlY29kZUdlbmVyYXRvciYgZ2VuZXJhdG9yLCBFeHByZXNzaW9uTm9kZSogYmFzZSwg
UmVnaXN0ZXJJRCogcHJvcGVydHksIFJlZ2lzdGVySUQqIGRzdCwgSlNUZXh0UG9zaXRpb24gZGl2
b3QsIEpTVGV4dFBvc2l0aW9uIGRpdm90U3RhcnQsIEpTVGV4dFBvc2l0aW9uIGRpdm90RW5kKQor
eworICAgIGlmIChiYXNlLT5pc1Jlc29sdmVOb2RlKCkKKyAgICAgICAgJiYgZ2VuZXJhdG9yLndp
bGxSZXNvbHZlVG9Bcmd1bWVudHMoc3RhdGljX2Nhc3Q8UmVzb2x2ZU5vZGUqPihiYXNlKS0+aWRl
bnRpZmllcigpKQorICAgICAgICAmJiAhZ2VuZXJhdG9yLnN5bWJvbFRhYmxlKCkuc2xvd0FyZ3Vt
ZW50cygpKSB7CisgICAgICAgIGdlbmVyYXRvci5lbWl0RXhwcmVzc2lvbkluZm8oZGl2b3QsIGRp
dm90U3RhcnQsIGRpdm90RW5kKTsKKyAgICAgICAgcmV0dXJuIGdlbmVyYXRvci5lbWl0R2V0QXJn
dW1lbnRCeVZhbChnZW5lcmF0b3IuZmluYWxEZXN0aW5hdGlvbihkc3QpLCBnZW5lcmF0b3IudW5j
aGVja2VkUmVnaXN0ZXJGb3JBcmd1bWVudHMoKSwgcHJvcGVydHkpOworICAgIH0KKyAgICByZXR1
cm4gbnVsbHB0cjsKK30KKwogUmVnaXN0ZXJJRCogQ2FsbEZ1bmN0aW9uQ2FsbERvdE5vZGU6OmVt
aXRCeXRlY29kZShCeXRlY29kZUdlbmVyYXRvciYgZ2VuZXJhdG9yLCBSZWdpc3RlcklEKiBkc3Qp
CiB7CiAgICAgUmVmUHRyPExhYmVsPiByZWFsQ2FsbCA9IGdlbmVyYXRvci5uZXdMYWJlbCgpOwog
ICAgIFJlZlB0cjxMYWJlbD4gZW5kID0gZ2VuZXJhdG9yLm5ld0xhYmVsKCk7CiAgICAgUmVmUHRy
PFJlZ2lzdGVySUQ+IGJhc2UgPSBnZW5lcmF0b3IuZW1pdE5vZGUobV9iYXNlKTsKICAgICBnZW5l
cmF0b3IuZW1pdEV4cHJlc3Npb25JbmZvKHN1YmV4cHJlc3Npb25EaXZvdCgpLCBzdWJleHByZXNz
aW9uU3RhcnQoKSwgc3ViZXhwcmVzc2lvbkVuZCgpKTsKLSAgICBSZWZQdHI8UmVnaXN0ZXJJRD4g
ZnVuY3Rpb24gPSBnZW5lcmF0b3IuZW1pdEdldEJ5SWQoZ2VuZXJhdG9yLnRlbXBEZXN0aW5hdGlv
bihkc3QpLCBiYXNlLmdldCgpLCBnZW5lcmF0b3IucHJvcGVydHlOYW1lcygpLmNhbGwpOwotICAg
IFJlZlB0cjxSZWdpc3RlcklEPiByZXR1cm5WYWx1ZSA9IGdlbmVyYXRvci5maW5hbERlc3RpbmF0
aW9uKGRzdCwgZnVuY3Rpb24uZ2V0KCkpOworICAgIFJlZlB0cjxSZWdpc3RlcklEPiBmdW5jdGlv
bjsKICAgICBib29sIGVtaXRDYWxsQ2hlY2sgPSAhZ2VuZXJhdG9yLmlzQnVpbHRpbkZ1bmN0aW9u
KCk7Ci0gICAgaWYgKGVtaXRDYWxsQ2hlY2spCisgICAgaWYgKGVtaXRDYWxsQ2hlY2spIHsKKyAg
ICAgICAgZnVuY3Rpb24gPSBnZW5lcmF0b3IuZW1pdEdldEJ5SWQoZ2VuZXJhdG9yLnRlbXBEZXN0
aW5hdGlvbihkc3QpLCBiYXNlLmdldCgpLCBnZW5lcmF0b3IucHJvcGVydHlOYW1lcygpLmNhbGwp
OwogICAgICAgICBnZW5lcmF0b3IuZW1pdEp1bXBJZk5vdEZ1bmN0aW9uQ2FsbChmdW5jdGlvbi5n
ZXQoKSwgcmVhbENhbGwuZ2V0KCkpOwotCisgICAgfQorICAgIFJlZlB0cjxSZWdpc3RlcklEPiBy
ZXR1cm5WYWx1ZSA9IGdlbmVyYXRvci5maW5hbERlc3RpbmF0aW9uKGRzdCk7CiAgICAgewotICAg
ICAgICBpZiAobV9hcmdzLT5tX2xpc3ROb2RlICYmIG1fYXJncy0+bV9saXN0Tm9kZS0+bV9leHBy
KSB7CisgICAgICAgIGlmIChtX2FyZ3MtPm1fbGlzdE5vZGUgJiYgbV9hcmdzLT5tX2xpc3ROb2Rl
LT5tX2V4cHIgJiYgbV9hcmdzLT5tX2xpc3ROb2RlLT5tX2V4cHItPmlzU3ByZWFkRXhwcmVzc2lv
bigpKSB7CisgICAgICAgICAgICBSZWZQdHI8UmVnaXN0ZXJJRD4gcHJvZmlsZUhvb2tSZWdpc3Rl
cjsKKyAgICAgICAgICAgIGlmIChnZW5lcmF0b3Iuc2hvdWxkRW1pdFByb2ZpbGVIb29rcygpKQor
ICAgICAgICAgICAgICAgIHByb2ZpbGVIb29rUmVnaXN0ZXIgPSBnZW5lcmF0b3IubmV3VGVtcG9y
YXJ5KCk7CisgICAgICAgICAgICBTcHJlYWRFeHByZXNzaW9uTm9kZSogc3ByZWFkID0gc3RhdGlj
X2Nhc3Q8U3ByZWFkRXhwcmVzc2lvbk5vZGUqPihtX2FyZ3MtPm1fbGlzdE5vZGUtPm1fZXhwcik7
CisgICAgICAgICAgICBFeHByZXNzaW9uTm9kZSogc3ViamVjdCA9IHNwcmVhZC0+ZXhwcmVzc2lv
bigpOworICAgICAgICAgICAgUmVmUHRyPFJlZ2lzdGVySUQ+IHRoaXNSZWdpc3RlciA9IGdldEFy
Z3VtZW50QnlWYWwoZ2VuZXJhdG9yLCBzdWJqZWN0LCBnZW5lcmF0b3IuZW1pdExvYWQoMCwganNO
dW1iZXIoMCkpLCAwLCBzcHJlYWQtPmRpdm90KCksIHNwcmVhZC0+ZGl2b3RTdGFydCgpLCBzcHJl
YWQtPmRpdm90RW5kKCkpOworICAgICAgICAgICAgUmVmUHRyPFJlZ2lzdGVySUQ+IGFyZ3VtZW50
c1JlZ2lzdGVyOworICAgICAgICAgICAgaWYgKHRoaXNSZWdpc3RlcikKKyAgICAgICAgICAgICAg
ICBhcmd1bWVudHNSZWdpc3RlciA9IGdlbmVyYXRvci51bmNoZWNrZWRSZWdpc3RlckZvckFyZ3Vt
ZW50cygpOworICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgYXJndW1lbnRzUmVn
aXN0ZXIgPSBnZW5lcmF0b3IuZW1pdE5vZGUoc3ViamVjdCk7CisgICAgICAgICAgICAgICAgZ2Vu
ZXJhdG9yLmVtaXRFeHByZXNzaW9uSW5mbyhzcHJlYWQtPmRpdm90KCksIHNwcmVhZC0+ZGl2b3RT
dGFydCgpLCBzcHJlYWQtPmRpdm90RW5kKCkpOworICAgICAgICAgICAgICAgIHRoaXNSZWdpc3Rl
ciA9IGdlbmVyYXRvci5lbWl0R2V0QnlWYWwoZ2VuZXJhdG9yLm5ld1RlbXBvcmFyeSgpLCBhcmd1
bWVudHNSZWdpc3Rlci5nZXQoKSwgZ2VuZXJhdG9yLmVtaXRMb2FkKDAsIGpzTnVtYmVyKDApKSk7
CisgICAgICAgICAgICB9CisgICAgICAgICAgICBnZW5lcmF0b3IuZW1pdENhbGxWYXJhcmdzKHJl
dHVyblZhbHVlLmdldCgpLCBiYXNlLmdldCgpLCB0aGlzUmVnaXN0ZXIuZ2V0KCksIGFyZ3VtZW50
c1JlZ2lzdGVyLmdldCgpLCBnZW5lcmF0b3IubmV3VGVtcG9yYXJ5KCksIDEsIHByb2ZpbGVIb29r
UmVnaXN0ZXIuZ2V0KCksIGRpdm90KCksIGRpdm90U3RhcnQoKSwgZGl2b3RFbmQoKSk7CisgICAg
ICAgIH0gZWxzZSBpZiAobV9hcmdzLT5tX2xpc3ROb2RlICYmIG1fYXJncy0+bV9saXN0Tm9kZS0+
bV9leHByKSB7CiAgICAgICAgICAgICBBcmd1bWVudExpc3ROb2RlKiBvbGRMaXN0ID0gbV9hcmdz
LT5tX2xpc3ROb2RlOwogICAgICAgICAgICAgbV9hcmdzLT5tX2xpc3ROb2RlID0gbV9hcmdzLT5t
X2xpc3ROb2RlLT5tX25leHQ7CiAKQEAgLTYyOSw3ICs2NTcsNyBAQCBSZWdpc3RlcklEKiBBcHBs
eUZ1bmN0aW9uQ2FsbERvdE5vZGU6OmVtaXRCeXRlY29kZShCeXRlY29kZUdlbmVyYXRvciYgZ2Vu
ZXJhdG9yLAogICAgICAgICBSZWZQdHI8UmVnaXN0ZXJJRD4gdGhpc1JlZ2lzdGVyID0gZ2VuZXJh
dG9yLmVtaXROb2RlKG1fYXJncy0+bV9saXN0Tm9kZS0+bV9leHByKTsKICAgICAgICAgUmVmUHRy
PFJlZ2lzdGVySUQ+IGFyZ3NSZWdpc3RlcjsKICAgICAgICAgQXJndW1lbnRMaXN0Tm9kZSogYXJn
cyA9IG1fYXJncy0+bV9saXN0Tm9kZS0+bV9uZXh0OwotICAgICAgICBpZiAoYXJncy0+bV9leHBy
LT5pc1Jlc29sdmVOb2RlKCkgJiYgZ2VuZXJhdG9yLndpbGxSZXNvbHZlVG9Bcmd1bWVudHMoc3Rh
dGljX2Nhc3Q8UmVzb2x2ZU5vZGUqPihhcmdzLT5tX2V4cHIpLT5pZGVudGlmaWVyKCkpKQorICAg
ICAgICBpZiAoYXJncy0+bV9leHByLT5pc1Jlc29sdmVOb2RlKCkgJiYgZ2VuZXJhdG9yLndpbGxS
ZXNvbHZlVG9Bcmd1bWVudHMoc3RhdGljX2Nhc3Q8UmVzb2x2ZU5vZGUqPihhcmdzLT5tX2V4cHIp
LT5pZGVudGlmaWVyKCkpICYmICFnZW5lcmF0b3Iuc3ltYm9sVGFibGUoKS5zbG93QXJndW1lbnRz
KCkpCiAgICAgICAgICAgICBhcmdzUmVnaXN0ZXIgPSBnZW5lcmF0b3IudW5jaGVja2VkUmVnaXN0
ZXJGb3JBcmd1bWVudHMoKTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgYXJnc1JlZ2lzdGVy
ID0gZ2VuZXJhdG9yLmVtaXROb2RlKGFyZ3MtPm1fZXhwcik7CkBAIC02MzksNyArNjY3LDcgQEAg
UmVnaXN0ZXJJRCogQXBwbHlGdW5jdGlvbkNhbGxEb3ROb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNv
ZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwKICAgICAgICAgd2hpbGUgKChhcmdzID0gYXJncy0+bV9u
ZXh0KSkKICAgICAgICAgICAgIGdlbmVyYXRvci5lbWl0Tm9kZShhcmdzLT5tX2V4cHIpOwogCi0g
ICAgICAgIGdlbmVyYXRvci5lbWl0Q2FsbFZhcmFyZ3MocmV0dXJuVmFsdWUuZ2V0KCksIHJlYWxG
dW5jdGlvbi5nZXQoKSwgdGhpc1JlZ2lzdGVyLmdldCgpLCBhcmdzUmVnaXN0ZXIuZ2V0KCksIGdl
bmVyYXRvci5uZXdUZW1wb3JhcnkoKSwgcHJvZmlsZUhvb2tSZWdpc3Rlci5nZXQoKSwgZGl2b3Qo
KSwgZGl2b3RTdGFydCgpLCBkaXZvdEVuZCgpKTsKKyAgICAgICAgZ2VuZXJhdG9yLmVtaXRDYWxs
VmFyYXJncyhyZXR1cm5WYWx1ZS5nZXQoKSwgcmVhbEZ1bmN0aW9uLmdldCgpLCB0aGlzUmVnaXN0
ZXIuZ2V0KCksIGFyZ3NSZWdpc3Rlci5nZXQoKSwgZ2VuZXJhdG9yLm5ld1RlbXBvcmFyeSgpLCAw
LCBwcm9maWxlSG9va1JlZ2lzdGVyLmdldCgpLCBkaXZvdCgpLCBkaXZvdFN0YXJ0KCksIGRpdm90
RW5kKCkpOwogICAgIH0KICAgICBpZiAoZW1pdENhbGxDaGVjaykgewogICAgICAgICBnZW5lcmF0
b3IuZW1pdEp1bXAoZW5kLmdldCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50
ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCmluZGV4IGRkZTAwZmM4NGQ2NGZkNGY3ZTJjYWJiOGNh
OGM5NzMzOTlmZmE5MDQuLmM3YzYxYzliMmIzNzc3MDBkY2M5NDI5M2I3NDQ2YjEwMGNkMDY1NDIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRl
ci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVy
LmNwcApAQCAtMTM3LDEwICsxMzcsMTAgQEAgSlNWYWx1ZSBldmFsKENhbGxGcmFtZSogY2FsbEZy
YW1lKQogICAgIHJldHVybiBpbnRlcnByZXRlci0+ZXhlY3V0ZShldmFsLCBjYWxsRnJhbWUsIHRo
aXNWYWx1ZSwgY2FsbGVyU2NvcGVDaGFpbik7CiB9CiAKLUNhbGxGcmFtZSogc2l6ZUZyYW1lRm9y
VmFyYXJncyhDYWxsRnJhbWUqIGNhbGxGcmFtZSwgSlNTdGFjayogc3RhY2ssIEpTVmFsdWUgYXJn
dW1lbnRzLCBpbnQgZmlyc3RGcmVlUmVnaXN0ZXIpCitDYWxsRnJhbWUqIHNpemVGcmFtZUZvclZh
cmFyZ3MoQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIEpTU3RhY2sqIHN0YWNrLCBKU1ZhbHVlIGFyZ3Vt
ZW50cywgaW50IGZpcnN0RnJlZVJlZ2lzdGVyLCBpbnQzMl90IGZpcnN0VmFyQXJnT2Zmc2V0KQog
ewogICAgIGlmICghYXJndW1lbnRzKSB7IC8vIGYuYXBwbHkoeCwgYXJndW1lbnRzKSwgd2l0aCBh
cmd1bWVudHMgdW5tb2RpZmllZC4KLSAgICAgICAgdW5zaWduZWQgYXJndW1lbnRDb3VudEluY2x1
ZGluZ1RoaXMgPSBjYWxsRnJhbWUtPmFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzKCk7CisgICAg
ICAgIHVuc2lnbmVkIGFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzID0gY2FsbEZyYW1lLT5hcmd1
bWVudENvdW50SW5jbHVkaW5nVGhpcygpIC0gZmlyc3RWYXJBcmdPZmZzZXQ7CiAgICAgICAgIHVu
c2lnbmVkIHBhZGRlZENhbGxlZUZyYW1lT2Zmc2V0ID0gV1RGOjpyb3VuZFVwVG9NdWx0aXBsZU9m
KHN0YWNrQWxpZ25tZW50UmVnaXN0ZXJzKCksIC1maXJzdEZyZWVSZWdpc3RlciArIGFyZ3VtZW50
Q291bnRJbmNsdWRpbmdUaGlzICsgSlNTdGFjazo6Q2FsbEZyYW1lSGVhZGVyU2l6ZSArIDEpOwog
ICAgICAgICBDYWxsRnJhbWUqIG5ld0NhbGxGcmFtZSA9IENhbGxGcmFtZTo6Y3JlYXRlKGNhbGxG
cmFtZS0+cmVnaXN0ZXJzKCkgLSBwYWRkZWRDYWxsZWVGcmFtZU9mZnNldCk7CiAgICAgICAgIGlm
IChhcmd1bWVudENvdW50SW5jbHVkaW5nVGhpcyA+IEFyZ3VtZW50czo6TWF4QXJndW1lbnRzICsg
MSB8fCAhc3RhY2stPmVuc3VyZUNhcGFjaXR5Rm9yKG5ld0NhbGxGcmFtZS0+cmVnaXN0ZXJzKCkp
KSB7CkBAIC0xNjgsNyArMTY4LDcgQEAgQ2FsbEZyYW1lKiBzaXplRnJhbWVGb3JWYXJhcmdzKENh
bGxGcmFtZSogY2FsbEZyYW1lLCBKU1N0YWNrKiBzdGFjaywgSlNWYWx1ZSBhcmcKIAogICAgIGlm
IChhc09iamVjdChhcmd1bWVudHMpLT5jbGFzc0luZm8oKSA9PSBBcmd1bWVudHM6OmluZm8oKSkg
ewogICAgICAgICBBcmd1bWVudHMqIGFyZ3NPYmplY3QgPSBhc0FyZ3VtZW50cyhhcmd1bWVudHMp
OwotICAgICAgICB1bnNpZ25lZCBhcmdDb3VudCA9IGFyZ3NPYmplY3QtPmxlbmd0aChjYWxsRnJh
bWUpOworICAgICAgICB1bnNpZ25lZCBhcmdDb3VudCA9IGFyZ3NPYmplY3QtPmxlbmd0aChjYWxs
RnJhbWUpIC0gZmlyc3RWYXJBcmdPZmZzZXQ7CiAgICAgICAgIHVuc2lnbmVkIHBhZGRlZENhbGxl
ZUZyYW1lT2Zmc2V0ID0gV1RGOjpyb3VuZFVwVG9NdWx0aXBsZU9mKHN0YWNrQWxpZ25tZW50UmVn
aXN0ZXJzKCksIC1maXJzdEZyZWVSZWdpc3RlciArIENhbGxGcmFtZTo6b2Zmc2V0Rm9yKGFyZ0Nv
dW50ICsgMSkpOwogICAgICAgICBDYWxsRnJhbWUqIG5ld0NhbGxGcmFtZSA9IENhbGxGcmFtZTo6
Y3JlYXRlKGNhbGxGcmFtZS0+cmVnaXN0ZXJzKCkgLSBwYWRkZWRDYWxsZWVGcmFtZU9mZnNldCk7
CiAgICAgICAgIGlmIChhcmdDb3VudCA+IEFyZ3VtZW50czo6TWF4QXJndW1lbnRzIHx8ICFzdGFj
ay0+ZW5zdXJlQ2FwYWNpdHlGb3IobmV3Q2FsbEZyYW1lLT5yZWdpc3RlcnMoKSkpIHsKQEAgLTE4
MCw3ICsxODAsNyBAQCBDYWxsRnJhbWUqIHNpemVGcmFtZUZvclZhcmFyZ3MoQ2FsbEZyYW1lKiBj
YWxsRnJhbWUsIEpTU3RhY2sqIHN0YWNrLCBKU1ZhbHVlIGFyZwogCiAgICAgaWYgKGlzSlNBcnJh
eShhcmd1bWVudHMpKSB7CiAgICAgICAgIEpTQXJyYXkqIGFycmF5ID0gYXNBcnJheShhcmd1bWVu
dHMpOwotICAgICAgICB1bnNpZ25lZCBhcmdDb3VudCA9IGFycmF5LT5sZW5ndGgoKTsKKyAgICAg
ICAgdW5zaWduZWQgYXJnQ291bnQgPSBhcnJheS0+bGVuZ3RoKCkgLSBmaXJzdFZhckFyZ09mZnNl
dDsKICAgICAgICAgdW5zaWduZWQgcGFkZGVkQ2FsbGVlRnJhbWVPZmZzZXQgPSBXVEY6OnJvdW5k
VXBUb011bHRpcGxlT2Yoc3RhY2tBbGlnbm1lbnRSZWdpc3RlcnMoKSwgLWZpcnN0RnJlZVJlZ2lz
dGVyICsgQ2FsbEZyYW1lOjpvZmZzZXRGb3IoYXJnQ291bnQgKyAxKSk7CiAgICAgICAgIENhbGxG
cmFtZSogbmV3Q2FsbEZyYW1lID0gQ2FsbEZyYW1lOjpjcmVhdGUoY2FsbEZyYW1lLT5yZWdpc3Rl
cnMoKSAtIHBhZGRlZENhbGxlZUZyYW1lT2Zmc2V0KTsKICAgICAgICAgaWYgKGFyZ0NvdW50ID4g
QXJndW1lbnRzOjpNYXhBcmd1bWVudHMgfHwgIXN0YWNrLT5lbnN1cmVDYXBhY2l0eUZvcihuZXdD
YWxsRnJhbWUtPnJlZ2lzdGVycygpKSkgewpAQCAtMTkxLDcgKzE5MSw3IEBAIENhbGxGcmFtZSog
c2l6ZUZyYW1lRm9yVmFyYXJncyhDYWxsRnJhbWUqIGNhbGxGcmFtZSwgSlNTdGFjayogc3RhY2ss
IEpTVmFsdWUgYXJnCiAgICAgfQogCiAgICAgSlNPYmplY3QqIGFyZ09iamVjdCA9IGFzT2JqZWN0
KGFyZ3VtZW50cyk7Ci0gICAgdW5zaWduZWQgYXJnQ291bnQgPSBhcmdPYmplY3QtPmdldChjYWxs
RnJhbWUsIGNhbGxGcmFtZS0+cHJvcGVydHlOYW1lcygpLmxlbmd0aCkudG9VSW50MzIoY2FsbEZy
YW1lKTsKKyAgICB1bnNpZ25lZCBhcmdDb3VudCA9IGFyZ09iamVjdC0+Z2V0KGNhbGxGcmFtZSwg
Y2FsbEZyYW1lLT5wcm9wZXJ0eU5hbWVzKCkubGVuZ3RoKS50b1VJbnQzMihjYWxsRnJhbWUpIC0g
Zmlyc3RWYXJBcmdPZmZzZXQ7CiAgICAgdW5zaWduZWQgcGFkZGVkQ2FsbGVlRnJhbWVPZmZzZXQg
PSBXVEY6OnJvdW5kVXBUb011bHRpcGxlT2Yoc3RhY2tBbGlnbm1lbnRSZWdpc3RlcnMoKSwgLWZp
cnN0RnJlZVJlZ2lzdGVyICsgQ2FsbEZyYW1lOjpvZmZzZXRGb3IoYXJnQ291bnQgKyAxKSk7CiAg
ICAgQ2FsbEZyYW1lKiBuZXdDYWxsRnJhbWUgPSBDYWxsRnJhbWU6OmNyZWF0ZShjYWxsRnJhbWUt
PnJlZ2lzdGVycygpIC0gcGFkZGVkQ2FsbGVlRnJhbWVPZmZzZXQpOwogICAgIGlmIChhcmdDb3Vu
dCA+IEFyZ3VtZW50czo6TWF4QXJndW1lbnRzIHx8ICFzdGFjay0+ZW5zdXJlQ2FwYWNpdHlGb3Io
bmV3Q2FsbEZyYW1lLT5yZWdpc3RlcnMoKSkpIHsKQEAgLTIwMSwxNSArMjAxLDE1IEBAIENhbGxG
cmFtZSogc2l6ZUZyYW1lRm9yVmFyYXJncyhDYWxsRnJhbWUqIGNhbGxGcmFtZSwgSlNTdGFjayog
c3RhY2ssIEpTVmFsdWUgYXJnCiAgICAgcmV0dXJuIG5ld0NhbGxGcmFtZTsKIH0KIAotdm9pZCBs
b2FkVmFyYXJncyhDYWxsRnJhbWUqIGNhbGxGcmFtZSwgQ2FsbEZyYW1lKiBuZXdDYWxsRnJhbWUs
IEpTVmFsdWUgdGhpc1ZhbHVlLCBKU1ZhbHVlIGFyZ3VtZW50cykKK3ZvaWQgbG9hZFZhcmFyZ3Mo
Q2FsbEZyYW1lKiBjYWxsRnJhbWUsIENhbGxGcmFtZSogbmV3Q2FsbEZyYW1lLCBKU1ZhbHVlIHRo
aXNWYWx1ZSwgSlNWYWx1ZSBhcmd1bWVudHMsIGludDMyX3QgZmlyc3RWYXJBcmdPZmZzZXQpCiB7
CiAgICAgaWYgKCFhcmd1bWVudHMpIHsgLy8gZi5hcHBseSh4LCBhcmd1bWVudHMpLCB3aXRoIGFy
Z3VtZW50cyB1bm1vZGlmaWVkLgotICAgICAgICB1bnNpZ25lZCBhcmd1bWVudENvdW50SW5jbHVk
aW5nVGhpcyA9IGNhbGxGcmFtZS0+YXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMoKTsKKyAgICAg
ICAgdW5zaWduZWQgYXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMgPSBjYWxsRnJhbWUtPmFyZ3Vt
ZW50Q291bnRJbmNsdWRpbmdUaGlzKCkgLSBmaXJzdFZhckFyZ09mZnNldDsKIAogICAgICAgICBu
ZXdDYWxsRnJhbWUtPnNldEFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzKGFyZ3VtZW50Q291bnRJ
bmNsdWRpbmdUaGlzKTsKICAgICAgICAgbmV3Q2FsbEZyYW1lLT5zZXRUaGlzVmFsdWUodGhpc1Zh
bHVlKTsKLSAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBjYWxsRnJhbWUtPmFyZ3VtZW50
Q291bnQoKTsgKytpKQotICAgICAgICAgICAgbmV3Q2FsbEZyYW1lLT5zZXRBcmd1bWVudChpLCBj
YWxsRnJhbWUtPmFyZ3VtZW50QWZ0ZXJDYXB0dXJlKGkpKTsKKyAgICAgICAgZm9yIChzaXplX3Qg
aSA9IGZpcnN0VmFyQXJnT2Zmc2V0OyBpIDwgY2FsbEZyYW1lLT5hcmd1bWVudENvdW50KCk7ICsr
aSkKKyAgICAgICAgICAgIG5ld0NhbGxGcmFtZS0+c2V0QXJndW1lbnQoaSAtIGZpcnN0VmFyQXJn
T2Zmc2V0LCBjYWxsRnJhbWUtPmFyZ3VtZW50QWZ0ZXJDYXB0dXJlKGkpKTsKICAgICAgICAgcmV0
dXJuOwogICAgIH0KICAgICAKQEAgLTIyMSwyOCArMjIxLDI4IEBAIHZvaWQgbG9hZFZhcmFyZ3Mo
Q2FsbEZyYW1lKiBjYWxsRnJhbWUsIENhbGxGcmFtZSogbmV3Q2FsbEZyYW1lLCBKU1ZhbHVlIHRo
aXNWYWx1CiAgICAgCiAgICAgaWYgKGFzT2JqZWN0KGFyZ3VtZW50cyktPmNsYXNzSW5mbygpID09
IEFyZ3VtZW50czo6aW5mbygpKSB7CiAgICAgICAgIEFyZ3VtZW50cyogYXJnc09iamVjdCA9IGFz
QXJndW1lbnRzKGFyZ3VtZW50cyk7Ci0gICAgICAgIHVuc2lnbmVkIGFyZ0NvdW50ID0gYXJnc09i
amVjdC0+bGVuZ3RoKGNhbGxGcmFtZSk7CisgICAgICAgIHVuc2lnbmVkIGFyZ0NvdW50ID0gYXJn
c09iamVjdC0+bGVuZ3RoKGNhbGxGcmFtZSkgLSBmaXJzdFZhckFyZ09mZnNldDsKICAgICAgICAg
bmV3Q2FsbEZyYW1lLT5zZXRBcmd1bWVudENvdW50SW5jbHVkaW5nVGhpcyhhcmdDb3VudCArIDEp
OwogICAgICAgICBuZXdDYWxsRnJhbWUtPnNldFRoaXNWYWx1ZSh0aGlzVmFsdWUpOwotICAgICAg
ICBhcmdzT2JqZWN0LT5jb3B5VG9Bcmd1bWVudHMoY2FsbEZyYW1lLCBuZXdDYWxsRnJhbWUsIGFy
Z0NvdW50KTsKKyAgICAgICAgYXJnc09iamVjdC0+Y29weVRvQXJndW1lbnRzKGNhbGxGcmFtZSwg
bmV3Q2FsbEZyYW1lLCBhcmdDb3VudCwgZmlyc3RWYXJBcmdPZmZzZXQpOwogICAgICAgICByZXR1
cm47CiAgICAgfQogICAgIAogICAgIGlmIChpc0pTQXJyYXkoYXJndW1lbnRzKSkgewogICAgICAg
ICBKU0FycmF5KiBhcnJheSA9IGFzQXJyYXkoYXJndW1lbnRzKTsKLSAgICAgICAgdW5zaWduZWQg
YXJnQ291bnQgPSBhcnJheS0+bGVuZ3RoKCk7CisgICAgICAgIHVuc2lnbmVkIGFyZ0NvdW50ID0g
YXJyYXktPmxlbmd0aCgpIC0gZmlyc3RWYXJBcmdPZmZzZXQ7CiAgICAgICAgIG5ld0NhbGxGcmFt
ZS0+c2V0QXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMoYXJnQ291bnQgKyAxKTsKICAgICAgICAg
bmV3Q2FsbEZyYW1lLT5zZXRUaGlzVmFsdWUodGhpc1ZhbHVlKTsKLSAgICAgICAgYXJyYXktPmNv
cHlUb0FyZ3VtZW50cyhjYWxsRnJhbWUsIG5ld0NhbGxGcmFtZSwgYXJnQ291bnQpOworICAgICAg
ICBhcnJheS0+Y29weVRvQXJndW1lbnRzKGNhbGxGcmFtZSwgbmV3Q2FsbEZyYW1lLCBhcmdDb3Vu
dCwgZmlyc3RWYXJBcmdPZmZzZXQpOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIAogICAg
IEpTT2JqZWN0KiBhcmdPYmplY3QgPSBhc09iamVjdChhcmd1bWVudHMpOwotICAgIHVuc2lnbmVk
IGFyZ0NvdW50ID0gYXJnT2JqZWN0LT5nZXQoY2FsbEZyYW1lLCBjYWxsRnJhbWUtPnByb3BlcnR5
TmFtZXMoKS5sZW5ndGgpLnRvVUludDMyKGNhbGxGcmFtZSk7CisgICAgdW5zaWduZWQgYXJnQ291
bnQgPSBhcmdPYmplY3QtPmdldChjYWxsRnJhbWUsIGNhbGxGcmFtZS0+cHJvcGVydHlOYW1lcygp
Lmxlbmd0aCkudG9VSW50MzIoY2FsbEZyYW1lKSAtIGZpcnN0VmFyQXJnT2Zmc2V0OwogICAgIG5l
d0NhbGxGcmFtZS0+c2V0QXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMoYXJnQ291bnQgKyAxKTsK
ICAgICBuZXdDYWxsRnJhbWUtPnNldFRoaXNWYWx1ZSh0aGlzVmFsdWUpOwogICAgIGZvciAoc2l6
ZV90IGkgPSAwOyBpIDwgYXJnQ291bnQ7ICsraSkgewotICAgICAgICBuZXdDYWxsRnJhbWUtPnNl
dEFyZ3VtZW50KGksIGFzT2JqZWN0KGFyZ3VtZW50cyktPmdldChjYWxsRnJhbWUsIGkpKTsKKyAg
ICAgICAgbmV3Q2FsbEZyYW1lLT5zZXRBcmd1bWVudChpLCBhc09iamVjdChhcmd1bWVudHMpLT5n
ZXQoY2FsbEZyYW1lLCBpICsgZmlyc3RWYXJBcmdPZmZzZXQpKTsKICAgICAgICAgaWYgKFVOTElL
RUxZKGNhbGxGcmFtZS0+dm0oKS5leGNlcHRpb24oKSkpCiAgICAgICAgICAgICByZXR1cm47CiAg
ICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVy
cHJldGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIu
aAppbmRleCBiNDUzMDM3MDBhYTAzYWE4MDRkNWE1NTQ4ZWQ4YWEyZGIzOGJkZDU0Li5lNWZkYzQ2
MzU5MDFkMzkzNjY1YmI0ZjU3NjFlODUwYzYxZmY5NWNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaApAQCAtMjg1LDggKzI4NSw4IEBAIG5h
bWVzcGFjZSBKU0MgewogICAgIH07CiAKICAgICBKU1ZhbHVlIGV2YWwoQ2FsbEZyYW1lKik7Ci0g
ICAgQ2FsbEZyYW1lKiBzaXplRnJhbWVGb3JWYXJhcmdzKENhbGxGcmFtZSosIEpTU3RhY2sqLCBK
U1ZhbHVlLCBpbnQpOwotICAgIHZvaWQgbG9hZFZhcmFyZ3MoQ2FsbEZyYW1lKiwgQ2FsbEZyYW1l
KiwgSlNWYWx1ZSwgSlNWYWx1ZSk7CisgICAgQ2FsbEZyYW1lKiBzaXplRnJhbWVGb3JWYXJhcmdz
KENhbGxGcmFtZSosIEpTU3RhY2sqLCBKU1ZhbHVlLCBpbnQsIGludDMyX3QgZmlyc3RWYXJBcmdP
ZmZzZXQpOworICAgIHZvaWQgbG9hZFZhcmFyZ3MoQ2FsbEZyYW1lKiwgQ2FsbEZyYW1lKiwgSlNW
YWx1ZSwgSlNWYWx1ZSwgaW50MzJfdCBmaXJzdFZhckFyZ09mZnNldCk7CiB9IC8vIG5hbWVzcGFj
ZSBKU0MKIAogI2VuZGlmIC8vIEludGVycHJldGVyX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvQ0NhbGxIZWxwZXJzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0NDYWxsSGVscGVycy5oCmluZGV4IGVjM2E5NzMyYmY3MGJiM2MyYzQ0ZjRmZmI3Y2Y2ZjE5NTUx
MThiZGYuLjg1ZjdmNmRiNGRkYmM1ZmI0ZjA4NWQ4ZTMyZDZkZmEzOTAwNTA0YWYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ0NhbGxIZWxwZXJzLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9DQ2FsbEhlbHBlcnMuaApAQCAtNTgyLDcgKzU4Miw3IEBAIHB1
YmxpYzoKICAgICAgICAgYWRkQ2FsbEFyZ3VtZW50KGFyZzQpOwogICAgICAgICBhZGRDYWxsQXJn
dW1lbnQoYXJnNSk7CiAgICAgfQotCisgICAgCiAgICAgQUxXQVlTX0lOTElORSB2b2lkIHNldHVw
QXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShHUFJSZWcgYXJnMSwgR1BSUmVnIGFyZzIsIEdQUlJlZyBh
cmczLCBHUFJSZWcgYXJnNCwgR1BSUmVnIGFyZzUsIEdQUlJlZyBhcmc2KQogICAgIHsKICAgICAg
ICAgcmVzZXRDYWxsQXJndW1lbnRzKCk7CkBAIC01OTQsNiArNTk0LDE5IEBAIHB1YmxpYzoKICAg
ICAgICAgYWRkQ2FsbEFyZ3VtZW50KGFyZzUpOwogICAgICAgICBhZGRDYWxsQXJndW1lbnQoYXJn
Nik7CiAgICAgfQorICAgIAorICAgIAorICAgIEFMV0FZU19JTkxJTkUgdm9pZCBzZXR1cEFyZ3Vt
ZW50c1dpdGhFeGVjU3RhdGUoR1BSUmVnIGFyZzEsIEdQUlJlZyBhcmcyLCBHUFJSZWcgYXJnMywg
R1BSUmVnIGFyZzQsIEdQUlJlZyBhcmc1LCBUcnVzdGVkSW1tMzIgYXJnNikKKyAgICB7CisgICAg
ICAgIHJlc2V0Q2FsbEFyZ3VtZW50cygpOworICAgICAgICBhZGRDYWxsQXJndW1lbnQoR1BSSW5m
bzo6Y2FsbEZyYW1lUmVnaXN0ZXIpOworICAgICAgICBhZGRDYWxsQXJndW1lbnQoYXJnMSk7Cisg
ICAgICAgIGFkZENhbGxBcmd1bWVudChhcmcyKTsKKyAgICAgICAgYWRkQ2FsbEFyZ3VtZW50KGFy
ZzMpOworICAgICAgICBhZGRDYWxsQXJndW1lbnQoYXJnNCk7CisgICAgICAgIGFkZENhbGxBcmd1
bWVudChhcmc1KTsKKyAgICAgICAgYWRkQ2FsbEFyZ3VtZW50KGFyZzYpOworICAgIH0KIAogICAg
IEFMV0FZU19JTkxJTkUgdm9pZCBzZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoRlBSUmVnIGFy
ZzEsIEdQUlJlZyBhcmcyKQogICAgIHsKQEAgLTExNzAsNiArMTE4MywxNCBAQCBwdWJsaWM6CiAg
ICAgICAgIG1vdmUoYXJnMywgR1BSSW5mbzo6YXJndW1lbnRHUFIzKTsKICAgICAgICAgbW92ZShH
UFJJbmZvOjpjYWxsRnJhbWVSZWdpc3RlciwgR1BSSW5mbzo6YXJndW1lbnRHUFIwKTsKICAgICB9
CisgICAgCisgICAgQUxXQVlTX0lOTElORSB2b2lkIHNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0
ZShHUFJSZWcgYXJnMSwgVHJ1c3RlZEltbTMyIGFyZzIsIFRydXN0ZWRJbW0zMiBhcmczKQorICAg
IHsKKyAgICAgICAgbW92ZShhcmcxLCBHUFJJbmZvOjphcmd1bWVudEdQUjEpOworICAgICAgICBt
b3ZlKGFyZzIsIEdQUkluZm86OmFyZ3VtZW50R1BSMik7CisgICAgICAgIG1vdmUoYXJnMywgR1BS
SW5mbzo6YXJndW1lbnRHUFIzKTsKKyAgICAgICAgbW92ZShHUFJJbmZvOjpjYWxsRnJhbWVSZWdp
c3RlciwgR1BSSW5mbzo6YXJndW1lbnRHUFIwKTsKKyAgICB9CiAKICAgICBBTFdBWVNfSU5MSU5F
IHZvaWQgc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKEdQUlJlZyBhcmcxLCBUcnVzdGVkSW1t
UHRyIGFyZzIsIFRydXN0ZWRJbW1QdHIgYXJnMykKICAgICB7CkBAIC0xNTc2LDYgKzE1OTcsMTMg
QEAgcHVibGljOgogICAgICAgICBtb3ZlKGFyZzQsIEdQUkluZm86OmFyZ3VtZW50R1BSNCk7CiAg
ICAgICAgIG1vdmUoR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIsIEdQUkluZm86OmFyZ3VtZW50
R1BSMCk7CiAgICAgfQorICAgIAorICAgIEFMV0FZU19JTkxJTkUgdm9pZCBzZXR1cEFyZ3VtZW50
c1dpdGhFeGVjU3RhdGUoR1BSUmVnIGFyZzEsIEdQUlJlZyBhcmcyLCBHUFJSZWcgYXJnMywgVHJ1
c3RlZEltbTMyIGFyZzQpCisgICAgeworICAgICAgICBzZXR1cFRocmVlU3R1YkFyZ3NHUFI8R1BS
SW5mbzo6YXJndW1lbnRHUFIxLCBHUFJJbmZvOjphcmd1bWVudEdQUjIsIEdQUkluZm86OmFyZ3Vt
ZW50R1BSMz4oYXJnMSwgYXJnMiwgYXJnMyk7CisgICAgICAgIG1vdmUoYXJnNCwgR1BSSW5mbzo6
YXJndW1lbnRHUFI0KTsKKyAgICAgICAgbW92ZShHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3Rlciwg
R1BSSW5mbzo6YXJndW1lbnRHUFIwKTsKKyAgICB9CiAKICAgICBBTFdBWVNfSU5MSU5FIHZvaWQg
c2V0dXBBcmd1bWVudHMoR1BSUmVnIGFyZzEsIFRydXN0ZWRJbW1QdHIgYXJnMiwgR1BSUmVnIGFy
ZzMsIEdQUlJlZyBhcmc0LCBUcnVzdGVkSW1tUHRyIGFyZzUpCiAgICAgewpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvSklULmgKaW5kZXggNjVmODBmMGIxNjg2NjJmMjg1ODIwYjU0NjI0YjY4Mjg5YzVmZjNjMi4u
YzRhZDJjMmJkNDJiMWJmODI3OTkzYzNhMTY3MWI4NDY5MGJhN2ZiYiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVC5oCkBAIC02NjUsNyArNjY1LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIE1h
Y3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oQ19KSVRPcGVyYXRpb25fRU8sIEdQUlJl
Zyk7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oQ19KSVRPcGVy
YXRpb25fRVN0LCBTdHJ1Y3R1cmUqKTsKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2Fs
bE9wZXJhdGlvbihDX0pJVE9wZXJhdGlvbl9FWiwgaW50MzJfdCk7Ci0gICAgICAgIE1hY3JvQXNz
ZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oRl9KSVRPcGVyYXRpb25fRUpaLCBHUFJSZWcsIGlu
dDMyX3QpOworICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEZfSklU
T3BlcmF0aW9uX0VKWlosIEdQUlJlZywgaW50MzJfdCwgaW50MzJfdCk7CiAgICAgICAgIE1hY3Jv
QXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRSwgaW50KTsKICAg
ICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9F
QWFwSiwgaW50LCBBcnJheUFsbG9jYXRpb25Qcm9maWxlKiwgR1BSUmVnKTsKICAgICAgICAgTWFj
cm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FQWFwSmNwWiwg
aW50LCBBcnJheUFsbG9jYXRpb25Qcm9maWxlKiwgR1BSUmVnLCBpbnQzMl90KTsKQEAgLTcwNyw3
ICs3MDcsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICNlbmRpZgogICAgICAgICBNYWNyb0Fzc2VtYmxl
cjo6Q2FsbCBjYWxsT3BlcmF0aW9uKFZfSklUT3BlcmF0aW9uX0VKSWRKSiwgUmVnaXN0ZXJJRCwg
Y29uc3QgSWRlbnRpZmllciosIFJlZ2lzdGVySUQsIFJlZ2lzdGVySUQpOwogI2lmIFVTRShKU1ZB
TFVFNjQpCi0gICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oRl9KSVRP
cGVyYXRpb25fRUZKSiwgUmVnaXN0ZXJJRCwgUmVnaXN0ZXJJRCwgUmVnaXN0ZXJJRCk7CisgICAg
ICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oRl9KSVRPcGVyYXRpb25fRUZK
SlosIFJlZ2lzdGVySUQsIFJlZ2lzdGVySUQsIFJlZ2lzdGVySUQsIGludDMyX3QpOwogICAgICAg
ICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKFZfSklUT3BlcmF0aW9uX0VTc2lK
SkksIFN0cnVjdHVyZVN0dWJJbmZvKiwgUmVnaXN0ZXJJRCwgUmVnaXN0ZXJJRCwgU3RyaW5nSW1w
bCopOwogI2Vsc2UKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihW
X0pJVE9wZXJhdGlvbl9FU3NpSkpJLCBTdHJ1Y3R1cmVTdHViSW5mbyosIFJlZ2lzdGVySUQsIFJl
Z2lzdGVySUQsIFJlZ2lzdGVySUQsIFJlZ2lzdGVySUQsIFN0cmluZ0ltcGwqKTsKQEAgLTcyMiw4
ICs3MjIsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwg
Y2FsbE9wZXJhdGlvbldpdGhDYWxsRnJhbWVSb2xsYmFja09uRXhjZXB0aW9uKFZfSklUT3BlcmF0
aW9uX0VDYiwgQ29kZUJsb2NrKik7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxP
cGVyYXRpb25XaXRoQ2FsbEZyYW1lUm9sbGJhY2tPbkV4Y2VwdGlvbihaX0pJVE9wZXJhdGlvbl9F
KTsKICNpZiBVU0UoSlNWQUxVRTMyXzY0KQotICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBj
YWxsT3BlcmF0aW9uKEZfSklUT3BlcmF0aW9uX0VGSkosIFJlZ2lzdGVySUQsIFJlZ2lzdGVySUQs
IFJlZ2lzdGVySUQsIFJlZ2lzdGVySUQsIFJlZ2lzdGVySUQpOwotICAgICAgICBNYWNyb0Fzc2Vt
Ymxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEZfSklUT3BlcmF0aW9uX0VKWiwgR1BSUmVnLCBHUFJS
ZWcsIGludDMyX3QpOworICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9u
KEZfSklUT3BlcmF0aW9uX0VGSkpaLCBSZWdpc3RlcklELCBSZWdpc3RlcklELCBSZWdpc3RlcklE
LCBSZWdpc3RlcklELCBSZWdpc3RlcklELCBpbnQzMl90KTsKKyAgICAgICAgTWFjcm9Bc3NlbWJs
ZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihGX0pJVE9wZXJhdGlvbl9FSlpaLCBHUFJSZWcsIEdQUlJl
ZywgaW50MzJfdCwgaW50MzJfdCk7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxP
cGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUFhcEosIGludCwgQXJyYXlBbGxvY2F0aW9uUHJvZmls
ZSosIEdQUlJlZywgR1BSUmVnKTsKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9w
ZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSiwgaW50LCBHUFJSZWcsIEdQUlJlZyk7CiAgICAgICAg
IE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpJZGMs
IGludCwgR1BSUmVnLCBHUFJSZWcsIGNvbnN0IElkZW50aWZpZXIqKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQ2FsbC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVENhbGwuY3BwCmluZGV4IDI1OWQ5N2M2NzYwZTg5Zjk1Y2RlYzA4OTFkOTMyM2Q3
Y2NmZWY1NWEuLmRmNTE2NDc5ZTY1NWI2OWRlNGRiM2E3ZDI5MmRmMWZmYjgzZDc1ZDkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQ2FsbC5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9KSVRDYWxsLmNwcApAQCAtNTgsNiArNTgsNyBAQCB2b2lkIEpJ
VDo6Y29tcGlsZUxvYWRWYXJhcmdzKEluc3RydWN0aW9uKiBpbnN0cnVjdGlvbikKICAgICBpbnQg
dGhpc1ZhbHVlID0gaW5zdHJ1Y3Rpb25bM10udS5vcGVyYW5kOwogICAgIGludCBhcmd1bWVudHMg
PSBpbnN0cnVjdGlvbls0XS51Lm9wZXJhbmQ7CiAgICAgaW50IGZpcnN0RnJlZVJlZ2lzdGVyID0g
aW5zdHJ1Y3Rpb25bNV0udS5vcGVyYW5kOworICAgIGludCBmaXJzdFZhckFyZ09mZnNldCA9IGlu
c3RydWN0aW9uWzZdLnUub3BlcmFuZDsKIAogICAgIEp1bXBMaXN0IHNsb3dDYXNlOwogICAgIEp1
bXBMaXN0IGVuZDsKQEAgLTcwLDYgKzcxLDggQEAgdm9pZCBKSVQ6OmNvbXBpbGVMb2FkVmFyYXJn
cyhJbnN0cnVjdGlvbiogaW5zdHJ1Y3Rpb24pCiAgICAgICAgIHNsb3dDYXNlLmFwcGVuZChicmFu
Y2g2NChOb3RFcXVhbCwgcmVnVDAsIFRydXN0ZWRJbW02NChKU1ZhbHVlOjplbmNvZGUoSlNWYWx1
ZSgpKSkpKTsKIAogICAgICAgICBlbWl0R2V0RnJvbUNhbGxGcmFtZUhlYWRlcjMyKEpTU3RhY2s6
OkFyZ3VtZW50Q291bnQsIHJlZ1QwKTsKKyAgICAgICAgaWYgKGZpcnN0VmFyQXJnT2Zmc2V0KQor
ICAgICAgICAgICAgc3ViMzIoVHJ1c3RlZEltbTMyKGZpcnN0VmFyQXJnT2Zmc2V0KSwgcmVnVDAp
OwogICAgICAgICBzbG93Q2FzZS5hcHBlbmQoYnJhbmNoMzIoQWJvdmUsIHJlZ1QwLCBUcnVzdGVk
SW1tMzIoQXJndW1lbnRzOjpNYXhBcmd1bWVudHMgKyAxKSkpOwogICAgICAgICAvLyByZWdUMDog
YXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMKICAgICAgICAgbW92ZShyZWdUMCwgcmVnVDEpOwpA
QCAtOTksNyArMTAyLDcgQEAgdm9pZCBKSVQ6OmNvbXBpbGVMb2FkVmFyYXJncyhJbnN0cnVjdGlv
biogaW5zdHJ1Y3Rpb24pCiAgICAgICAgIC8vIHJlZ1QwOiBhcmd1bWVudENvdW50CiAKICAgICAg
ICAgTGFiZWwgY29weUxvb3AgPSBsYWJlbCgpOwotICAgICAgICBsb2FkNjQoQmFzZUluZGV4KGNh
bGxGcmFtZVJlZ2lzdGVyLCByZWdUMCwgVGltZXNFaWdodCwgQ2FsbEZyYW1lOjp0aGlzQXJndW1l
bnRPZmZzZXQoKSAqIHN0YXRpY19jYXN0PGludD4oc2l6ZW9mKFJlZ2lzdGVyKSkpLCByZWdUMik7
CisgICAgICAgIGxvYWQ2NChCYXNlSW5kZXgoY2FsbEZyYW1lUmVnaXN0ZXIsIHJlZ1QwLCBUaW1l
c0VpZ2h0LCAoQ2FsbEZyYW1lOjp0aGlzQXJndW1lbnRPZmZzZXQoKSArIGZpcnN0VmFyQXJnT2Zm
c2V0KSAqIHN0YXRpY19jYXN0PGludD4oc2l6ZW9mKFJlZ2lzdGVyKSkpLCByZWdUMik7CiAgICAg
ICAgIHN0b3JlNjQocmVnVDIsIEJhc2VJbmRleChyZWdUMSwgcmVnVDAsIFRpbWVzRWlnaHQsIENh
bGxGcmFtZTo6dGhpc0FyZ3VtZW50T2Zmc2V0KCkgKiBzdGF0aWNfY2FzdDxpbnQ+KHNpemVvZihS
ZWdpc3RlcikpKSk7CiAgICAgICAgIGJyYW5jaFN1YjY0KE5vblplcm8sIFRydXN0ZWRJbW0zMigx
KSwgcmVnVDApLmxpbmtUbyhjb3B5TG9vcCwgdGhpcyk7CiAKQEAgLTExMCwxMSArMTEzLDExIEBA
IHZvaWQgSklUOjpjb21waWxlTG9hZFZhcmFyZ3MoSW5zdHJ1Y3Rpb24qIGluc3RydWN0aW9uKQog
ICAgICAgICBzbG93Q2FzZS5saW5rKHRoaXMpOwogCiAgICAgZW1pdEdldFZpcnR1YWxSZWdpc3Rl
cihhcmd1bWVudHMsIHJlZ1QxKTsKLSAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvblNpemVGcmFt
ZUZvclZhcmFyZ3MsIHJlZ1QxLCBmaXJzdEZyZWVSZWdpc3Rlcik7CisgICAgY2FsbE9wZXJhdGlv
bihvcGVyYXRpb25TaXplRnJhbWVGb3JWYXJhcmdzLCByZWdUMSwgZmlyc3RGcmVlUmVnaXN0ZXIs
IGZpcnN0VmFyQXJnT2Zmc2V0KTsKICAgICBtb3ZlKHJldHVyblZhbHVlR1BSLCBzdGFja1BvaW50
ZXJSZWdpc3Rlcik7CiAgICAgZW1pdEdldFZpcnR1YWxSZWdpc3Rlcih0aGlzVmFsdWUsIHJlZ1Qx
KTsKICAgICBlbWl0R2V0VmlydHVhbFJlZ2lzdGVyKGFyZ3VtZW50cywgcmVnVDIpOwotICAgIGNh
bGxPcGVyYXRpb24ob3BlcmF0aW9uTG9hZFZhcmFyZ3MsIHJldHVyblZhbHVlR1BSLCByZWdUMSwg
cmVnVDIpOworICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uTG9hZFZhcmFyZ3MsIHJldHVyblZh
bHVlR1BSLCByZWdUMSwgcmVnVDIsIGZpcnN0VmFyQXJnT2Zmc2V0KTsKICAgICBtb3ZlKHJldHVy
blZhbHVlR1BSLCByZWdUMSk7CiAKICAgICBpZiAoY2FuT3B0aW1pemUpCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVENhbGwzMl82NC5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVENhbGwzMl82NC5jcHAKaW5kZXggN2Q2N2VmMWMzYWIxNjAzNDU4MDRm
NDVhYzFkODE4NzI0YTQ1ZTljMC4uZGFhMjNlYzhjNjRiNjlkMmM4MDYyYzdmZDk3NWU0NjI4MzVm
N2I3NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRDYWxsMzJfNjQu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQ2FsbDMyXzY0LmNwcApAQCAt
MTMxLDYgKzEzMSw3IEBAIHZvaWQgSklUOjpjb21waWxlTG9hZFZhcmFyZ3MoSW5zdHJ1Y3Rpb24q
IGluc3RydWN0aW9uKQogICAgIGludCB0aGlzVmFsdWUgPSBpbnN0cnVjdGlvblszXS51Lm9wZXJh
bmQ7CiAgICAgaW50IGFyZ3VtZW50cyA9IGluc3RydWN0aW9uWzRdLnUub3BlcmFuZDsKICAgICBp
bnQgZmlyc3RGcmVlUmVnaXN0ZXIgPSBpbnN0cnVjdGlvbls1XS51Lm9wZXJhbmQ7CisgICAgaW50
IGZpcnN0VmFyQXJnT2Zmc2V0ID0gaW5zdHJ1Y3Rpb25bNl0udS5vcGVyYW5kOwogCiAgICAgSnVt
cExpc3Qgc2xvd0Nhc2U7CiAgICAgSnVtcExpc3QgZW5kOwpAQCAtMTQzLDYgKzE0NCw4IEBAIHZv
aWQgSklUOjpjb21waWxlTG9hZFZhcmFyZ3MoSW5zdHJ1Y3Rpb24qIGluc3RydWN0aW9uKQogICAg
ICAgICBzbG93Q2FzZS5hcHBlbmQoYnJhbmNoMzIoTm90RXF1YWwsIHJlZ1QxLCBUcnVzdGVkSW1t
MzIoSlNWYWx1ZTo6RW1wdHlWYWx1ZVRhZykpKTsKIAogICAgICAgICBsb2FkMzIocGF5bG9hZEZv
cihKU1N0YWNrOjpBcmd1bWVudENvdW50KSwgcmVnVDIpOworICAgICAgICBpZiAoZmlyc3RWYXJB
cmdPZmZzZXQpCisgICAgICAgICAgICBzdWIzMihUcnVzdGVkSW1tMzIoZmlyc3RWYXJBcmdPZmZz
ZXQpLCByZWdUMik7CiAgICAgICAgIHNsb3dDYXNlLmFwcGVuZChicmFuY2gzMihBYm92ZSwgcmVn
VDIsIFRydXN0ZWRJbW0zMihBcmd1bWVudHM6Ok1heEFyZ3VtZW50cyArIDEpKSk7CiAgICAgICAg
IC8vIHJlZ1QyOiBhcmd1bWVudENvdW50SW5jbHVkaW5nVGhpcwogCkBAIC0xNzIsOCArMTc1LDgg
QEAgdm9pZCBKSVQ6OmNvbXBpbGVMb2FkVmFyYXJncyhJbnN0cnVjdGlvbiogaW5zdHJ1Y3Rpb24p
CiAgICAgICAgIC8vIHJlZ1QyOiBhcmd1bWVudENvdW50OwogCiAgICAgICAgIExhYmVsIGNvcHlM
b29wID0gbGFiZWwoKTsKLSAgICAgICAgbG9hZDMyKEJhc2VJbmRleChjYWxsRnJhbWVSZWdpc3Rl
ciwgcmVnVDIsIFRpbWVzRWlnaHQsIE9CSkVDVF9PRkZTRVRPRihKU1ZhbHVlLCB1LmFzQml0cy5w
YXlsb2FkKSArKENhbGxGcmFtZTo6dGhpc0FyZ3VtZW50T2Zmc2V0KCkgKiBzdGF0aWNfY2FzdDxp
bnQ+KHNpemVvZihSZWdpc3RlcikpKSksIHJlZ1QwKTsKLSAgICAgICAgbG9hZDMyKEJhc2VJbmRl
eChjYWxsRnJhbWVSZWdpc3RlciwgcmVnVDIsIFRpbWVzRWlnaHQsIE9CSkVDVF9PRkZTRVRPRihK
U1ZhbHVlLCB1LmFzQml0cy50YWcpICsoQ2FsbEZyYW1lOjp0aGlzQXJndW1lbnRPZmZzZXQoKSAq
IHN0YXRpY19jYXN0PGludD4oc2l6ZW9mKFJlZ2lzdGVyKSkpKSwgcmVnVDEpOworICAgICAgICBs
b2FkMzIoQmFzZUluZGV4KGNhbGxGcmFtZVJlZ2lzdGVyLCByZWdUMiwgVGltZXNFaWdodCwgT0JK
RUNUX09GRlNFVE9GKEpTVmFsdWUsIHUuYXNCaXRzLnBheWxvYWQpICsoKENhbGxGcmFtZTo6dGhp
c0FyZ3VtZW50T2Zmc2V0KCkgKyBmaXJzdFZhckFyZ09mZnNldCkgKiBzdGF0aWNfY2FzdDxpbnQ+
KHNpemVvZihSZWdpc3RlcikpKSksIHJlZ1QwKTsKKyAgICAgICAgbG9hZDMyKEJhc2VJbmRleChj
YWxsRnJhbWVSZWdpc3RlciwgcmVnVDIsIFRpbWVzRWlnaHQsIE9CSkVDVF9PRkZTRVRPRihKU1Zh
bHVlLCB1LmFzQml0cy50YWcpICsoKENhbGxGcmFtZTo6dGhpc0FyZ3VtZW50T2Zmc2V0KCkgKyBm
aXJzdFZhckFyZ09mZnNldCkgKiBzdGF0aWNfY2FzdDxpbnQ+KHNpemVvZihSZWdpc3RlcikpKSks
IHJlZ1QxKTsKICAgICAgICAgc3RvcmUzMihyZWdUMCwgQmFzZUluZGV4KHJlZ1QzLCByZWdUMiwg
VGltZXNFaWdodCwgT0JKRUNUX09GRlNFVE9GKEpTVmFsdWUsIHUuYXNCaXRzLnBheWxvYWQpICso
Q2FsbEZyYW1lOjp0aGlzQXJndW1lbnRPZmZzZXQoKSAqIHN0YXRpY19jYXN0PGludD4oc2l6ZW9m
KFJlZ2lzdGVyKSkpKSk7CiAgICAgICAgIHN0b3JlMzIocmVnVDEsIEJhc2VJbmRleChyZWdUMywg
cmVnVDIsIFRpbWVzRWlnaHQsIE9CSkVDVF9PRkZTRVRPRihKU1ZhbHVlLCB1LmFzQml0cy50YWcp
ICsoQ2FsbEZyYW1lOjp0aGlzQXJndW1lbnRPZmZzZXQoKSAqIHN0YXRpY19jYXN0PGludD4oc2l6
ZW9mKFJlZ2lzdGVyKSkpKSk7CiAgICAgICAgIGJyYW5jaFN1YjMyKE5vblplcm8sIFRydXN0ZWRJ
bW0zMigxKSwgcmVnVDIpLmxpbmtUbyhjb3B5TG9vcCwgdGhpcyk7CkBAIC0xODUsMTEgKzE4OCwx
MSBAQCB2b2lkIEpJVDo6Y29tcGlsZUxvYWRWYXJhcmdzKEluc3RydWN0aW9uKiBpbnN0cnVjdGlv
bikKICAgICAgICAgc2xvd0Nhc2UubGluayh0aGlzKTsKIAogICAgIGVtaXRMb2FkKGFyZ3VtZW50
cywgcmVnVDEsIHJlZ1QwKTsKLSAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvblNpemVGcmFtZUZv
clZhcmFyZ3MsIHJlZ1QxLCByZWdUMCwgZmlyc3RGcmVlUmVnaXN0ZXIpOworICAgIGNhbGxPcGVy
YXRpb24ob3BlcmF0aW9uU2l6ZUZyYW1lRm9yVmFyYXJncywgcmVnVDEsIHJlZ1QwLCBmaXJzdEZy
ZWVSZWdpc3RlciwgZmlyc3RWYXJBcmdPZmZzZXQpOwogICAgIGFkZFB0cihUcnVzdGVkSW1tMzIo
LXNpemVvZihDYWxsZXJGcmFtZUFuZFBDKSksIHJldHVyblZhbHVlR1BSLCBzdGFja1BvaW50ZXJS
ZWdpc3Rlcik7CiAgICAgZW1pdExvYWQodGhpc1ZhbHVlLCByZWdUMSwgcmVnVDQpOwogICAgIGVt
aXRMb2FkKGFyZ3VtZW50cywgcmVnVDMsIHJlZ1QyKTsKLSAgICBjYWxsT3BlcmF0aW9uKG9wZXJh
dGlvbkxvYWRWYXJhcmdzLCByZXR1cm5WYWx1ZUdQUiwgcmVnVDEsIHJlZ1Q0LCByZWdUMywgcmVn
VDIpOworICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uTG9hZFZhcmFyZ3MsIHJldHVyblZhbHVl
R1BSLCByZWdUMSwgcmVnVDQsIHJlZ1QzLCByZWdUMiwgZmlyc3RWYXJBcmdPZmZzZXQpOwogICAg
IG1vdmUocmV0dXJuVmFsdWVHUFIsIHJlZ1QzKTsKIAogICAgIGlmIChjYW5PcHRpbWl6ZSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lcy5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmgKaW5kZXggZWU4NjVmNWZiMDY1MmY2NWQy
MWM3ZWM3Mjk3NjI4YjAzMzRlNzAwYS4uMjQ4YzhlYTE1MzkxYjI0MjhiZTQwZmFlNTdkYmUzZWIw
ZTBmOTdjNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVz
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmgKQEAgLTI5Niwx
NSArMjk2LDE1IEBAIEFMV0FZU19JTkxJTkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxs
T3BlcmF0aW9uV2l0aENhbGxGcmFtZVJvbGxiYWNrT25FeGNlCiAKIAogI2lmIFVTRShKU1ZBTFVF
NjQpCi1BTFdBWVNfSU5MSU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9wZXJhdGlv
bihGX0pJVE9wZXJhdGlvbl9FSlogb3BlcmF0aW9uLCBHUFJSZWcgYXJnMSwgaW50MzJfdCBhcmcz
KQorQUxXQVlTX0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6OmNhbGxPcGVyYXRpb24o
Rl9KSVRPcGVyYXRpb25fRUpaWiBvcGVyYXRpb24sIEdQUlJlZyBhcmcxLCBpbnQzMl90IGFyZzIs
IGludDMyX3QgYXJnMykKIHsKLSAgICBzZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwg
VHJ1c3RlZEltbTMyKGFyZzMpKTsKKyAgICBzZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJn
MSwgVHJ1c3RlZEltbTMyKGFyZzIpLCBUcnVzdGVkSW1tMzIoYXJnMykpOwogICAgIHJldHVybiBh
cHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrKG9wZXJhdGlvbik7CiB9CiAKLUFMV0FZU19JTkxJ
TkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uKEZfSklUT3BlcmF0aW9u
X0VGSkogb3BlcmF0aW9uLCBHUFJSZWcgYXJnMSwgR1BSUmVnIGFyZzIsIEdQUlJlZyBhcmczKQor
QUxXQVlTX0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6OmNhbGxPcGVyYXRpb24oRl9K
SVRPcGVyYXRpb25fRUZKSlogb3BlcmF0aW9uLCBHUFJSZWcgYXJnMSwgR1BSUmVnIGFyZzIsIEdQ
UlJlZyBhcmczLCBpbnQzMl90IGFyZzQpCiB7Ci0gICAgc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0
YXRlKGFyZzEsIGFyZzIsIGFyZzMpOworICAgIHNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShh
cmcxLCBhcmcyLCBhcmczLCBUcnVzdGVkSW1tMzIoYXJnNCkpOwogICAgIHJldHVybiBhcHBlbmRD
YWxsV2l0aEV4Y2VwdGlvbkNoZWNrKG9wZXJhdGlvbik7CiB9CiAKQEAgLTQzNywyMCArNDM3LDIw
IEBAIEFMV0FZU19JTkxJTkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9u
Tm9FeGNlcHRpb25DaGVjayhWX0pJVE9wZXJhCiAgICAgcmV0dXJuIGFwcGVuZENhbGwob3BlcmF0
aW9uKTsKIH0KIAotQUxXQVlTX0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6OmNhbGxP
cGVyYXRpb24oRl9KSVRPcGVyYXRpb25fRUpaIG9wZXJhdGlvbiwgR1BSUmVnIGFyZzFUYWcsIEdQ
UlJlZyBhcmcxUGF5bG9hZCwgaW50MzJfdCBhcmcyKQorQUxXQVlTX0lOTElORSBNYWNyb0Fzc2Vt
Ymxlcjo6Q2FsbCBKSVQ6OmNhbGxPcGVyYXRpb24oRl9KSVRPcGVyYXRpb25fRUpaWiBvcGVyYXRp
b24sIEdQUlJlZyBhcmcxVGFnLCBHUFJSZWcgYXJnMVBheWxvYWQsIGludDMyX3QgYXJnMiwgaW50
MzJfdCBhcmczKQogewogI2lmIENQVShTSDQpCiAgICAgLy8gV2UgaGF2ZSB0byBwdXQgYXJnMyBp
biB0aGUgNHRoIGFyZ3VtZW50IHJlZ2lzdGVyIChyNykgYXMgNjQtYml0IHZhbHVlIGFyZzIgd2ls
bCBiZSBwdXQgb24gc3RhY2sgZm9yIHNoNCBhcmNoaXRlY3VyZS4KLSAgICBzZXR1cEFyZ3VtZW50
c1dpdGhFeGVjU3RhdGUoYXJnMVBheWxvYWQsIGFyZzFUYWcsIFRydXN0ZWRJbW0zMihhcmcyKSk7
CisgICAgc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFyZzFQYXlsb2FkLCBhcmcxVGFnLCBU
cnVzdGVkSW1tMzIoYXJnMiksIFRydXN0ZWRJbW0zMihhcmczKSk7CiAjZWxzZQotICAgIHNldHVw
QXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShFQUJJXzMyQklUX0RVTU1ZX0FSRyBhcmcxUGF5bG9hZCwg
YXJnMVRhZywgVHJ1c3RlZEltbTMyKGFyZzIpKTsKKyAgICBzZXR1cEFyZ3VtZW50c1dpdGhFeGVj
U3RhdGUoRUFCSV8zMkJJVF9EVU1NWV9BUkcgYXJnMVBheWxvYWQsIGFyZzFUYWcsIFRydXN0ZWRJ
bW0zMihhcmcyKSwgVHJ1c3RlZEltbTMyKGFyZzMpKTsKICNlbmRpZgogICAgIHJldHVybiBhcHBl
bmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrKG9wZXJhdGlvbik7CiB9CiAKLUFMV0FZU19JTkxJTkUg
TWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uKEZfSklUT3BlcmF0aW9uX0VG
Skogb3BlcmF0aW9uLCBHUFJSZWcgYXJnMSwgR1BSUmVnIGFyZzJUYWcsIEdQUlJlZyBhcmcyUGF5
bG9hZCwgR1BSUmVnIGFyZzNUYWcsIEdQUlJlZyBhcmczUGF5bG9hZCkKK0FMV0FZU19JTkxJTkUg
TWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uKEZfSklUT3BlcmF0aW9uX0VG
SkpaIG9wZXJhdGlvbiwgR1BSUmVnIGFyZzEsIEdQUlJlZyBhcmcyVGFnLCBHUFJSZWcgYXJnMlBh
eWxvYWQsIEdQUlJlZyBhcmczVGFnLCBHUFJSZWcgYXJnM1BheWxvYWQsIGludDMyX3QgYXJnNCkK
IHsKLSAgICBzZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgYXJnMlBheWxvYWQsIGFy
ZzJUYWcsIGFyZzNQYXlsb2FkLCBhcmczVGFnKTsKKyAgICBzZXR1cEFyZ3VtZW50c1dpdGhFeGVj
U3RhdGUoYXJnMSwgYXJnMlBheWxvYWQsIGFyZzJUYWcsIGFyZzNQYXlsb2FkLCBhcmczVGFnLCBU
cnVzdGVkSW1tMzIoYXJnNCkpOwogICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNo
ZWNrKG9wZXJhdGlvbik7CiB9CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRP
cGVyYXRpb25zLmNwcAppbmRleCBhOWEyNTkyNmFjZTg2YjYyNDMxNWU4YWIzMjkzMzNlMTZlZGIz
MDJkLi44ZTVhZDQ1YjYwN2U0NDk4YzRjY2EzYmNkNjA3ZWM1MjhkOWJkYTkxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKQEAgLTE1NjIsMjMgKzE1NjIs
MjMgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25JbnN0YW5jZU9mKEV4
ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2Rl
KGpzQm9vbGVhbihyZXN1bHQpKTsKIH0KIAotQ2FsbEZyYW1lKiBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvblNpemVGcmFtZUZvclZhcmFyZ3MoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBl
bmNvZGVkQXJndW1lbnRzLCBpbnQzMl90IGZpcnN0RnJlZVJlZ2lzdGVyKQorQ2FsbEZyYW1lKiBK
SVRfT1BFUkFUSU9OIG9wZXJhdGlvblNpemVGcmFtZUZvclZhcmFyZ3MoRXhlY1N0YXRlKiBleGVj
LCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQXJndW1lbnRzLCBpbnQzMl90IGZpcnN0RnJlZVJlZ2lz
dGVyLCBpbnQzMl90IGZpcnN0VmFyQXJnT2Zmc2V0KQogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZt
KCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcigmdm0sIGV4ZWMpOwogICAgIEpT
U3RhY2sqIHN0YWNrID0gJmV4ZWMtPmludGVycHJldGVyKCktPnN0YWNrKCk7CiAgICAgSlNWYWx1
ZSBhcmd1bWVudHMgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEFyZ3VtZW50cyk7Ci0gICAgQ2Fs
bEZyYW1lKiBuZXdDYWxsRnJhbWUgPSBzaXplRnJhbWVGb3JWYXJhcmdzKGV4ZWMsIHN0YWNrLCBh
cmd1bWVudHMsIGZpcnN0RnJlZVJlZ2lzdGVyKTsKKyAgICBDYWxsRnJhbWUqIG5ld0NhbGxGcmFt
ZSA9IHNpemVGcmFtZUZvclZhcmFyZ3MoZXhlYywgc3RhY2ssIGFyZ3VtZW50cywgZmlyc3RGcmVl
UmVnaXN0ZXIsIGZpcnN0VmFyQXJnT2Zmc2V0KTsKICAgICByZXR1cm4gbmV3Q2FsbEZyYW1lOwog
fQogCi1DYWxsRnJhbWUqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTG9hZFZhcmFyZ3MoRXhlY1N0
YXRlKiBleGVjLCBDYWxsRnJhbWUqIG5ld0NhbGxGcmFtZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2Rl
ZFRoaXMsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRBcmd1bWVudHMpCitDYWxsRnJhbWUqIEpJVF9P
UEVSQVRJT04gb3BlcmF0aW9uTG9hZFZhcmFyZ3MoRXhlY1N0YXRlKiBleGVjLCBDYWxsRnJhbWUq
IG5ld0NhbGxGcmFtZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFRoaXMsIEVuY29kZWRKU1ZhbHVl
IGVuY29kZWRBcmd1bWVudHMsIGludDMyX3QgZmlyc3RWYXJBcmdPZmZzZXQpCiB7CiAgICAgVk0m
IHZtID0gZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKCZ2bSwg
ZXhlYyk7CiAgICAgSlNWYWx1ZSB0aGlzVmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFRo
aXMpOwogICAgIEpTVmFsdWUgYXJndW1lbnRzID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRBcmd1
bWVudHMpOwotICAgIGxvYWRWYXJhcmdzKGV4ZWMsIG5ld0NhbGxGcmFtZSwgdGhpc1ZhbHVlLCBh
cmd1bWVudHMpOworICAgIGxvYWRWYXJhcmdzKGV4ZWMsIG5ld0NhbGxGcmFtZSwgdGhpc1ZhbHVl
LCBhcmd1bWVudHMsIGZpcnN0VmFyQXJnT2Zmc2V0KTsKICAgICByZXR1cm4gbmV3Q2FsbEZyYW1l
OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlv
bnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oCmluZGV4IGNl
Yzg4YmJiNmVjZDRiZDhmMGY1NzY2MDNlZjdiYjc4NTNiYzM5ZDUuLjU3MjdlY2IwNmZlODBkMDk5
ZjhiMDM2ODNmN2VkZDJkODU1MTljYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklUT3BlcmF0aW9ucy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
T3BlcmF0aW9ucy5oCkBAIC04Miw4ICs4Miw4IEBAIGV4dGVybiAiQyIgewogICAgIFo6IGludDMy
X3QKICovCiAKLXR5cGVkZWYgQ2FsbEZyYW1lKiBKSVRfT1BFUkFUSU9OICgqRl9KSVRPcGVyYXRp
b25fRUZKSikoRXhlY1N0YXRlKiwgQ2FsbEZyYW1lKiwgRW5jb2RlZEpTVmFsdWUsIEVuY29kZWRK
U1ZhbHVlKTsKLXR5cGVkZWYgQ2FsbEZyYW1lKiBKSVRfT1BFUkFUSU9OICgqRl9KSVRPcGVyYXRp
b25fRUpaKShFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSwgaW50MzJfdCk7Cit0eXBlZGVmIENh
bGxGcmFtZSogSklUX09QRVJBVElPTiAoKkZfSklUT3BlcmF0aW9uX0VGSkpaKShFeGVjU3RhdGUq
LCBDYWxsRnJhbWUqLCBFbmNvZGVkSlNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUsIGludDMyX3QpOwor
dHlwZWRlZiBDYWxsRnJhbWUqIEpJVF9PUEVSQVRJT04gKCpGX0pJVE9wZXJhdGlvbl9FSlpaKShF
eGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSwgaW50MzJfdCwgaW50MzJfdCk7CiB0eXBlZGVmIEVu
Y29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FKShFeGVjU3RhdGUq
KTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9u
X0VBKShFeGVjU3RhdGUqLCBKU0FycmF5Kik7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9P
UEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FQVopKEV4ZWNTdGF0ZSosIEpTQXJyYXkqLCBpbnQz
Ml90KTsKQEAgLTI3NSw4ICsyNzUsOCBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uVGVh
ck9mZkFyZ3VtZW50cyhFeGVjU3RhdGUqLCBKU0NlbGwqLCBKU0NlbGwqKSBXVEZfSQogRW5jb2Rl
ZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25EZWxldGVCeUlkKEV4ZWNTdGF0ZSosIEVu
Y29kZWRKU1ZhbHVlIGJhc2UsIGNvbnN0IElkZW50aWZpZXIqKSBXVEZfSU5URVJOQUw7CiBKU0Nl
bGwqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0UE5hbWVzKEV4ZWNTdGF0ZSosIEpTT2JqZWN0
KikgV1RGX0lOVEVSTkFMOwogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25J
bnN0YW5jZU9mKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBwcm90
bykgV1RGX0lOVEVSTkFMOwotQ2FsbEZyYW1lKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblNpemVG
cmFtZUZvclZhcmFyZ3MoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUgYXJndW1lbnRzLCBpbnQz
Ml90IGZpcnN0RnJlZVJlZ2lzdGVyKSBXVEZfSU5URVJOQUw7Ci1DYWxsRnJhbWUqIEpJVF9PUEVS
QVRJT04gb3BlcmF0aW9uTG9hZFZhcmFyZ3MoRXhlY1N0YXRlKiwgQ2FsbEZyYW1lKiwgRW5jb2Rl
ZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBhcmd1bWVudHMpIFdURl9JTlRFUk5B
TDsKK0NhbGxGcmFtZSogSklUX09QRVJBVElPTiBvcGVyYXRpb25TaXplRnJhbWVGb3JWYXJhcmdz
KEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlIGFyZ3VtZW50cywgaW50MzJfdCBmaXJzdEZyZWVS
ZWdpc3RlciwgaW50MzJfdCBmaXJzdFZhckFyZ09mZnNldCkgV1RGX0lOVEVSTkFMOworQ2FsbEZy
YW1lKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkxvYWRWYXJhcmdzKEV4ZWNTdGF0ZSosIENhbGxG
cmFtZSosIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgYXJndW1lbnRz
LCBpbnQzMl90IGZpcnN0VmFyQXJnT2Zmc2V0KSBXVEZfSU5URVJOQUw7CiBFbmNvZGVkSlNWYWx1
ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblRvT2JqZWN0KEV4ZWNTdGF0ZSosIEVuY29kZWRKU1Zh
bHVlKSBXVEZfSU5URVJOQUw7CiAKIGNoYXIqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uU3dpdGNo
Q2hhcldpdGhVbmtub3duS2V5VHlwZShFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSBrZXksIHNp
emVfdCB0YWJsZUluZGV4KSBXVEZfSU5URVJOQUw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAppbmRleCA5MjAyMGQ4MGY0Nzk2ZTNhZmQzMWM2ZWM5
ZGY1NjMxOTkzNDVmYzg3Li5iMzIxY2Q0OWZmZWEyODQ2ODgyODJkMDVkN2NhZTRiNGU2NjEyNTMy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAK
QEAgLTExNTYsNyArMTE1Niw3IEBAIExMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9zaXpl
X2ZyYW1lX2Zvcl92YXJhcmdzKQogICAgIC8vIC0gU2V0IHVwIGEgY2FsbCBmcmFtZSB3aGlsZSBy
ZXNwZWN0aW5nIHRoZSB2YXJpYWJsZSBhcmd1bWVudHMuCiAgICAgCiAgICAgRXhlY1N0YXRlKiBl
eGVjQ2FsbGVlID0gc2l6ZUZyYW1lRm9yVmFyYXJncyhleGVjLCAmdm0uaW50ZXJwcmV0ZXItPnN0
YWNrKCksCi0gICAgICAgIExMSU5UX09QX0MoNCkuanNWYWx1ZSgpLCBwY1s1XS51Lm9wZXJhbmQp
OworICAgICAgICBMTElOVF9PUF9DKDQpLmpzVmFsdWUoKSwgcGNbNV0udS5vcGVyYW5kLCBwY1s2
XS51Lm9wZXJhbmQpOwogICAgIExMSU5UX0NBTExfQ0hFQ0tfRVhDRVBUSU9OKGV4ZWMpOwogICAg
IAogICAgIHZtLm5ld0NhbGxGcmFtZVJldHVyblZhbHVlID0gZXhlY0NhbGxlZTsKQEAgLTExNzUs
NyArMTE3NSw3IEBAIExMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9jYWxsX3ZhcmFyZ3Mp
CiAgICAgCiAgICAgRXhlY1N0YXRlKiBleGVjQ2FsbGVlID0gdm0ubmV3Q2FsbEZyYW1lUmV0dXJu
VmFsdWU7CiAKLSAgICBsb2FkVmFyYXJncyhleGVjLCBleGVjQ2FsbGVlLCBMTElOVF9PUF9DKDMp
LmpzVmFsdWUoKSwgTExJTlRfT1BfQyg0KS5qc1ZhbHVlKCkpOworICAgIGxvYWRWYXJhcmdzKGV4
ZWMsIGV4ZWNDYWxsZWUsIExMSU5UX09QX0MoMykuanNWYWx1ZSgpLCBMTElOVF9PUF9DKDQpLmpz
VmFsdWUoKSwgcGNbNl0udS5vcGVyYW5kKTsKICAgICBMTElOVF9DQUxMX0NIRUNLX0VYQ0VQVElP
TihleGVjKTsKICAgICAKICAgICBleGVjQ2FsbGVlLT51bmNoZWNrZWRSKEpTU3RhY2s6OkNhbGxl
ZSkgPSBjYWxsZWVBc1ZhbHVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQXJndW1lbnRzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ3Vt
ZW50cy5jcHAKaW5kZXggNzVhYTBiODE2YjdhOWM5MTE3MDY1NzU4MTE0NjcwN2ViOWE2YWU2MS4u
NDZjY2E1Y2E3YzE5YWQ3MmE3Zjc3YTUxNTU0YTY3NjI3YzZjYzY0NyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJndW1lbnRzLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Bcmd1bWVudHMuY3BwCkBAIC01OCwyMCArNTgsMjIgQEAgdm9p
ZCBBcmd1bWVudHM6OmRlc3Ryb3koSlNDZWxsKiBjZWxsKQogICAgIHN0YXRpY19jYXN0PEFyZ3Vt
ZW50cyo+KGNlbGwpLT5Bcmd1bWVudHM6On5Bcmd1bWVudHMoKTsKIH0KIAotdm9pZCBBcmd1bWVu
dHM6OmNvcHlUb0FyZ3VtZW50cyhFeGVjU3RhdGUqIGV4ZWMsIENhbGxGcmFtZSogY2FsbEZyYW1l
LCB1aW50MzJfdCBsZW5ndGgpCit2b2lkIEFyZ3VtZW50czo6Y29weVRvQXJndW1lbnRzKEV4ZWNT
dGF0ZSogZXhlYywgQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIHVpbnQzMl90IGNvcHlMZW5ndGgsIGlu
dDMyX3QgZmlyc3RWYXJBcmdPZmZzZXQpCiB7CisgICAgdWludDMyX3QgbGVuZ3RoID0gY29weUxl
bmd0aCArIGZpcnN0VmFyQXJnT2Zmc2V0OworCiAgICAgaWYgKFVOTElLRUxZKG1fb3ZlcnJvZGVM
ZW5ndGgpKSB7CiAgICAgICAgIGxlbmd0aCA9IG1pbihnZXQoZXhlYywgZXhlYy0+cHJvcGVydHlO
YW1lcygpLmxlbmd0aCkudG9VSW50MzIoZXhlYyksIGxlbmd0aCk7Ci0gICAgICAgIGZvciAodW5z
aWduZWQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpID0g
Zmlyc3RWYXJBcmdPZmZzZXQ7IGkgPCBsZW5ndGg7IGkrKykKICAgICAgICAgICAgIGNhbGxGcmFt
ZS0+c2V0QXJndW1lbnQoaSwgZ2V0KGV4ZWMsIGkpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0K
ICAgICBBU1NFUlQobGVuZ3RoID09IHRoaXMtPmxlbmd0aChleGVjKSk7Ci0gICAgZm9yIChzaXpl
X3QgaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkgeworICAgIGZvciAoc2l6ZV90IGkgPSBmaXJzdFZh
ckFyZ09mZnNldDsgaSA8IGxlbmd0aDsgKytpKSB7CiAgICAgICAgIGlmIChKU1ZhbHVlIHZhbHVl
ID0gdHJ5R2V0QXJndW1lbnQoaSkpCi0gICAgICAgICAgICBjYWxsRnJhbWUtPnNldEFyZ3VtZW50
KGksIHZhbHVlKTsKKyAgICAgICAgICAgIGNhbGxGcmFtZS0+c2V0QXJndW1lbnQoaSAtIGZpcnN0
VmFyQXJnT2Zmc2V0LCB2YWx1ZSk7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIGNhbGxGcmFt
ZS0+c2V0QXJndW1lbnQoaSwgZ2V0KGV4ZWMsIGkpKTsKKyAgICAgICAgICAgIGNhbGxGcmFtZS0+
c2V0QXJndW1lbnQoaSAtIGZpcnN0VmFyQXJnT2Zmc2V0LCBnZXQoZXhlYywgaSkpOwogICAgIH0K
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJndW1lbnRz
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Bcmd1bWVudHMuaAppbmRleCA1MTkx
NjgwNjk3YjE5YzllNjNiODI4YzUxNDQ1NjQ3NGI2ZGEyYjdlLi5mZDk0ZGFiMDUwYjRmYjc0ZGQx
MjE1MWVjYjFjMzY2YjcwYWQ4MmIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9Bcmd1bWVudHMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9B
cmd1bWVudHMuaApAQCAtNzgsNyArNzgsNyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBtX251
bUFyZ3VtZW50czsgCiAgICAgfQogICAgICAgICAKLSAgICB2b2lkIGNvcHlUb0FyZ3VtZW50cyhF
eGVjU3RhdGUqLCBDYWxsRnJhbWUqLCB1aW50MzJfdCBsZW5ndGgpOworICAgIHZvaWQgY29weVRv
QXJndW1lbnRzKEV4ZWNTdGF0ZSosIENhbGxGcmFtZSosIHVpbnQzMl90IGNvcHlMZW5ndGgsIGlu
dDMyX3QgZmlyc3RBcmd1bWVudE9mZnNldCk7CiAgICAgdm9pZCB0ZWFyT2ZmKENhbGxGcmFtZSop
OwogICAgIHZvaWQgdGVhck9mZihDYWxsRnJhbWUqLCBJbmxpbmVDYWxsRnJhbWUqKTsKICAgICBi
b29sIGlzVG9ybk9mZigpIGNvbnN0IHsgcmV0dXJuIG1fcmVnaXN0ZXJBcnJheS5nZXQoKTsgfQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5LmNwcAppbmRleCA1NTRmNDQzZmVm
YzEyZWJiMjU1ZGY0YzI3ZjQ1OWI0ZGI0MjFiMjQ4Li5hZjIzMmRjZDEzNmEyYWNhZDkwNWMyN2Vk
YTc4OGI4OGZkMzMwYjk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0FycmF5LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5
LmNwcApAQCAtMTU0MCwxMiArMTU0MCwxMiBAQCB2b2lkIEpTQXJyYXk6OmZpbGxBcmdMaXN0KEV4
ZWNTdGF0ZSogZXhlYywgTWFya2VkQXJndW1lbnRCdWZmZXImIGFyZ3MpCiAgICAgICAgIGFyZ3Mu
YXBwZW5kKGdldChleGVjLCBpKSk7CiB9CiAKLXZvaWQgSlNBcnJheTo6Y29weVRvQXJndW1lbnRz
KEV4ZWNTdGF0ZSogZXhlYywgQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIHVpbnQzMl90IGxlbmd0aCkK
K3ZvaWQgSlNBcnJheTo6Y29weVRvQXJndW1lbnRzKEV4ZWNTdGF0ZSogZXhlYywgQ2FsbEZyYW1l
KiBjYWxsRnJhbWUsIHVpbnQzMl90IGNvcHlMZW5ndGgsIGludDMyX3QgZmlyc3RWYXJBcmdPZmZz
ZXQpCiB7Ci0gICAgdW5zaWduZWQgaSA9IDA7CisgICAgdW5zaWduZWQgaSA9IGZpcnN0VmFyQXJn
T2Zmc2V0OwogICAgIFdyaXRlQmFycmllcjxVbmtub3duPiogdmVjdG9yOwogICAgIHVuc2lnbmVk
IHZlY3RvckVuZDsKLSAgICAKKyAgICB1bnNpZ25lZCBsZW5ndGggPSBjb3B5TGVuZ3RoICsgZmly
c3RWYXJBcmdPZmZzZXQ7CiAgICAgQVNTRVJUKGxlbmd0aCA9PSB0aGlzLT5sZW5ndGgoKSk7CiAg
ICAgc3dpdGNoIChzdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpIHsKICAgICBjYXNlIEFycmF5
Q2xhc3M6CkBAIC0xNTcyLDcgKzE1NzIsNyBAQCB2b2lkIEpTQXJyYXk6OmNvcHlUb0FyZ3VtZW50
cyhFeGVjU3RhdGUqIGV4ZWMsIENhbGxGcmFtZSogY2FsbEZyYW1lLCB1aW50MzJfdCBsZQogICAg
ICAgICAgICAgZG91YmxlIHYgPSBtX2J1dHRlcmZseS0+Y29udGlndW91c0RvdWJsZSgpW2ldOwog
ICAgICAgICAgICAgaWYgKHYgIT0gdikKICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAg
ICAgIGNhbGxGcmFtZS0+c2V0QXJndW1lbnQoaSwgSlNWYWx1ZShKU1ZhbHVlOjpFbmNvZGVBc0Rv
dWJsZSwgdikpOworICAgICAgICAgICAgY2FsbEZyYW1lLT5zZXRBcmd1bWVudChpIC0gZmlyc3RW
YXJBcmdPZmZzZXQsIEpTVmFsdWUoSlNWYWx1ZTo6RW5jb2RlQXNEb3VibGUsIHYpKTsKICAgICAg
ICAgfQogICAgICAgICBicmVhazsKICAgICB9CkBAIC0xNTk1LDExICsxNTk1LDExIEBAIHZvaWQg
SlNBcnJheTo6Y29weVRvQXJndW1lbnRzKEV4ZWNTdGF0ZSogZXhlYywgQ2FsbEZyYW1lKiBjYWxs
RnJhbWUsIHVpbnQzMl90IGxlCiAgICAgICAgIFdyaXRlQmFycmllcjxVbmtub3duPiYgdiA9IHZl
Y3RvcltpXTsKICAgICAgICAgaWYgKCF2KQogICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNh
bGxGcmFtZS0+c2V0QXJndW1lbnQoaSwgdi5nZXQoKSk7CisgICAgICAgIGNhbGxGcmFtZS0+c2V0
QXJndW1lbnQoaSAtIGZpcnN0VmFyQXJnT2Zmc2V0LCB2LmdldCgpKTsKICAgICB9CiAgICAgCiAg
ICAgZm9yICg7IGkgPCBsZW5ndGg7ICsraSkKLSAgICAgICAgY2FsbEZyYW1lLT5zZXRBcmd1bWVu
dChpLCBnZXQoZXhlYywgaSkpOworICAgICAgICBjYWxsRnJhbWUtPnNldEFyZ3VtZW50KGkgLSBm
aXJzdFZhckFyZ09mZnNldCwgZ2V0KGV4ZWMsIGkpKTsKIH0KIAogdGVtcGxhdGU8SW5kZXhpbmdU
eXBlIGluZGV4aW5nVHlwZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTQXJyYXkuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuaApp
bmRleCBmZTMwZDlmOTY3ODMyZmUxMjlkZTQ0NGE0MGZkMDA1ZjRjMjFhYWY3Li5mZWQ5MWNmOGIz
ODgwZGUyYjY0NjY0MTNjM2IwYWEwMzE3Yzc2NGU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0FycmF5LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNBcnJheS5oCkBAIC0xMzIsNyArMTMyLDcgQEAgcHVibGljOgogICAgIH0KIAogICAg
IHZvaWQgZmlsbEFyZ0xpc3QoRXhlY1N0YXRlKiwgTWFya2VkQXJndW1lbnRCdWZmZXImKTsKLSAg
ICB2b2lkIGNvcHlUb0FyZ3VtZW50cyhFeGVjU3RhdGUqLCBDYWxsRnJhbWUqLCB1aW50MzJfdCBs
ZW5ndGgpOworICAgIHZvaWQgY29weVRvQXJndW1lbnRzKEV4ZWNTdGF0ZSosIENhbGxGcmFtZSos
IHVpbnQzMl90IGxlbmd0aCwgaW50MzJfdCBmaXJzdFZhckFyZ09mZnNldCk7CiAKICAgICBzdGF0
aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBKU1ZhbHVlIHByb3RvdHlwZSwgSW5kZXhpbmdUeXBlIGluZGV4aW5nVHlwZSkK
ICAgICB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggZTk1OGM2YzczZjI0ZDM2ZjY1NTQzMjE4MmVhMGQzMDIzMmE0MjAxYS4u
NjI0YWI3MDAzMTI0ZmY2MWQ2YTIyYjMzYjFmZWQ0YmJiOWYxYzMwNSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE5IEBACisyMDE0LTAyLTI0ICBPbGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CisKKyAg
ICAgICAgU3ByZWFkIG9wZXJhdG9yIGhhcyBhIGJhZCB0aW1lIHdoZW4gYXBwbGllZCB0byBjYWxs
IGZ1bmN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMjg4NTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBUZXN0IGNhc2UgYWxsIHRoZSB0aGluZ3MhCisKKyAgICAgICAgKiBqcy9yZWdyZXNzL2NhbGwt
c3ByZWFkLWNhbGwtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBqcy9yZWdyZXNzL2Nh
bGwtc3ByZWFkLWNhbGwuaHRtbDogQWRkZWQuCisgICAgICAgICoganMvcmVncmVzcy9zY3JpcHQt
dGVzdHMvY2FsbC1zcHJlYWQtY2FsbC5qczogQWRkZWQuCisgICAgICAgICh0ZXN0RnVuY3Rpb24p
OgorICAgICAgICAodGVzdDIpOgorICAgICAgICAodGVzdDMpOgorCiAyMDE0LTAyLTI0ICBEaXJr
IFNjaHVsemUgIDxrcml0QHdlYmtpdC5vcmc+CiAKICAgICAgICAgVHJhbnNmb3JtIG1vcmUgY2xp
cC1wYXRoIHBpeGVsIHRlc3RzIHRvIHJlZmVyZW5jZSB0ZXN0cwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvanMvcmVncmVzcy9jYWxsLXNwcmVhZC1jYWxsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2pzL3JlZ3Jlc3MvY2FsbC1zcHJlYWQtY2FsbC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
OTg5YzhjNmI5YmRhOTk4MzViYWUyYmJhMzUyODU4ZjVjNDg2MGNjNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2pzL3JlZ3Jlc3MvY2FsbC1zcHJlYWQtY2FsbC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMCBAQAorSlNSZWdyZXNzL2NhbGwtc3ByZWFkLWNhbGwKKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mgbm8gZXhjZXB0aW9uIHRocm93bgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2pzL3JlZ3Jlc3MvY2FsbC1zcHJlYWQtY2FsbC5odG1sIGIvTGF5b3V0VGVzdHMv
anMvcmVncmVzcy9jYWxsLXNwcmVhZC1jYWxsLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGYzMWNjZDNhZjBh
MGZlNDFjNWViMzk1ZmRiN2VkZGE2MzE5NDlhNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2pzL3JlZ3Jlc3MvY2FsbC1zcHJlYWQtY2FsbC5odG1sCkBAIC0wLDAgKzEsMTIgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9yZWdyZXNzLXByZS5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2NhbGwtc3ByZWFkLWNhbGwu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9yZWdyZXNzLXBvc3QuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvcmVn
cmVzcy9zY3JpcHQtdGVzdHMvY2FsbC1zcHJlYWQtY2FsbC5qcyBiL0xheW91dFRlc3RzL2pzL3Jl
Z3Jlc3Mvc2NyaXB0LXRlc3RzL2NhbGwtc3ByZWFkLWNhbGwuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjFjN2Ni
ZDVhMDA2ZmI3MTQ0MWMxYjU2ODc3ODg0OTZkYTRjYjM2NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2pzL3JlZ3Jlc3Mvc2NyaXB0LXRlc3RzL2NhbGwtc3ByZWFkLWNhbGwuanMKQEAg
LTAsMCArMSw0MSBAQAorCitGdW5jdGlvbi5wcm90b3R5cGUuYyA9IEZ1bmN0aW9uLnByb3RvdHlw
ZS5jYWxsOworCitmdW5jdGlvbiB0ZXN0RnVuY3Rpb24oYSwgYikKK3sKKyAgICAidXNlIHN0cmlj
dCIKKyAgICByZXR1cm4gdGhpcyAqIDEwMDAwICsgYSAqIDEwMDAgKyBiICogMTAwICsgYXJndW1l
bnRzWzJdICogMTAgKyBhcmd1bWVudHMubGVuZ3RoOworfQorCit2YXIgYXJyYXlBcmd1bWVudHMg
PSBbMSwgMiwgMywgNF0KKworZm9yICh2YXIgaSA9IDA7IGkgPCAxNTAwMDsgaSsrKSB7CisgICAg
dmFyIHJlc3VsdDEgPSB0ZXN0RnVuY3Rpb24uY2FsbCguLi5hcnJheUFyZ3VtZW50cyk7CisgICAg
dmFyIHJlc3VsdDIgPSB0ZXN0RnVuY3Rpb24uYyguLi5hcnJheUFyZ3VtZW50cyk7CisgICAgaWYg
KHJlc3VsdDEgIT0gcmVzdWx0MikgCisgICAgICAgIHRocm93ICJDYWxsIHdpdGggc3ByZWFkIGFy
cmF5IGZhaWxlZCBhdCBpdGVyYXRpb24gIiArIGkgKyAiOiAiICsgcmVzdWx0MSArICIgdnMgIiAr
IHJlc3VsdDI7Cit9CisKK2Z1bmN0aW9uIHRlc3QyKCkgeworICAgIGZvciAodmFyIGkgPSAwOyBp
IDwgMTUwMDA7IGkrKykgeworICAgICAgICB2YXIgcmVzdWx0MSA9IHRlc3RGdW5jdGlvbi5jYWxs
KC4uLmFyZ3VtZW50cyk7CisgICAgICAgIHZhciByZXN1bHQyID0gdGVzdEZ1bmN0aW9uLmMoLi4u
YXJndW1lbnRzKTsKKyAgICAgICAgaWYgKHJlc3VsdDEgIT0gcmVzdWx0MikKKyAgICAgICAgICAg
dGhyb3cgIkNhbGwgd2l0aCBzcHJlYWQgYXJndW1lbnRzIGZhaWxlZCBhdCBpdGVyYXRpb24gIiAr
IGkgKyAiOiAiICsgcmVzdWx0MSArICIgdnMgIiArIHJlc3VsdDI7CisgICAgfQorfQorCit0ZXN0
MigxLDIsMyw0KQorCisKK2Z1bmN0aW9uIHRlc3QzKCkgeworICAgIGFsaWFzZWRBcmd1bWVudHMg
PSBhcmd1bWVudHM7CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxNTAwMDsgaSsrKSB7CisgICAg
ICAgIHZhciByZXN1bHQxID0gdGVzdEZ1bmN0aW9uLmNhbGwoLi4uYWxpYXNlZEFyZ3VtZW50cyk7
CisgICAgICAgIHZhciByZXN1bHQyID0gdGVzdEZ1bmN0aW9uLmMoLi4uYWxpYXNlZEFyZ3VtZW50
cyk7CisgICAgICAgIGlmIChyZXN1bHQxICE9IHJlc3VsdDIpCisgICAgICAgICAgIHRocm93ICJD
YWxsIHdpdGggc3ByZWFkIGFyZ3VtZW50cyBmYWlsZWQgYXQgaXRlcmF0aW9uICIgKyBpICsgIjog
IiArIHJlc3VsdDEgKyAiIHZzICIgKyByZXN1bHQyOworICAgIH0KK30KKwordGVzdDMoMSwyLDMs
NCkKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>
<flag name="review"
          id="249233"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>