<?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>132354</bug_id>
          
          <creation_ts>2014-04-29 14:28:24 -0700</creation_ts>
          <short_desc>Remove HistogramSupport.</short_desc>
          <delta_ts>2014-05-02 16:58:27 -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>WebCore Misc.</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andreas Kling">kling</reporter>
          <assigned_to name="Andreas Kling">kling</assigned_to>
          <cc>alecflett</cc>
    
    <cc>bunhere</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ggaren</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jsbell</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kling</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>rakuco</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1005113</commentid>
    <comment_count>0</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-04-29 14:28:24 -0700</bug_when>
    <thetext>Chromium leftovers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005114</commentid>
    <comment_count>1</comment_count>
      <attachid>230419</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-04-29 14:29:20 -0700</bug_when>
    <thetext>Created attachment 230419
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005117</commentid>
    <comment_count>2</comment_count>
      <attachid>230421</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-04-29 14:32:10 -0700</bug_when>
    <thetext>Created attachment 230421
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005136</commentid>
    <comment_count>3</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2014-04-29 14:55:32 -0700</bug_when>
    <thetext>/Volumes/Data/EWS/WebKit/Source/WebCore/Modules/indexeddb/IDBFactory.cpp:43:10: fatal error: &apos;IDBHistograms.h&apos; file not found</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005141</commentid>
    <comment_count>4</comment_count>
      <attachid>230423</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-04-29 15:01:12 -0700</bug_when>
    <thetext>Created attachment 230423
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005143</commentid>
    <comment_count>5</comment_count>
      <attachid>230423</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-04-29 15:02:12 -0700</bug_when>
    <thetext>Comment on attachment 230423
Patch

Hawt</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006230</commentid>
    <comment_count>6</comment_count>
      <attachid>230423</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-05-02 16:58:20 -0700</bug_when>
    <thetext>Comment on attachment 230423
Patch

Clearing flags on attachment: 230423

Committed r168209: &lt;http://trac.webkit.org/changeset/168209&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006231</commentid>
    <comment_count>7</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-05-02 16:58:27 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>230419</attachid>
            <date>2014-04-29 14:29:20 -0700</date>
            <delta_ts>2014-04-29 14:32:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-132354.diff</filename>
            <type>text/plain</type>
            <size>36797</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggMzI5ZDc4Ni4uMDk1ODRkZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKQEAgLTE5NTIsNyArMTk1Miw2IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0
Zm9ybS9GaWxlQ2hvb3Nlci5jcHAKICAgICBwbGF0Zm9ybS9GaWxlU3RyZWFtLmNwcAogICAgIHBs
YXRmb3JtL0ZpbGVTeXN0ZW0uY3BwCi0gICAgcGxhdGZvcm0vSGlzdG9ncmFtU3VwcG9ydC5jcHAK
ICAgICBwbGF0Zm9ybS9VUkwuY3BwCiAgICAgcGxhdGZvcm0vS2lsbFJpbmdOb25lLmNwcAogICAg
IHBsYXRmb3JtL0xhbmd1YWdlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGQ0ZDhiZjMuLmYzMjI0OTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKQEAgLTEsMyArMSw1MSBAQAorMjAxNC0wNC0yOSAgQW5kcmVhcyBLbGluZyAgPGFr
bGluZ0BhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIEhpc3RvZ3JhbVN1cHBvcnQuCisgICAg
ICAgIDxodHRwczovL3dlYmtpdC5vcmcvYi8xMzIzNTQ+CisKKyAgICAgICAgUHJ1bmUgc29tZSBs
ZWZ0b3ZlciBDaHJvbWl1bSBndW5rIHRoYXQgbm8gb3RoZXIgcG9ydHMgZXZlciB1c2VkLgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ01ha2VMaXN0
cy50eHQ6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2UuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SURCRGF0YWJhc2U6OmNyZWF0ZU9iamVjdFN0b3JlKToKKyAgICAgICAg
KFdlYkNvcmU6OklEQkRhdGFiYXNlOjpkZWxldGVPYmplY3RTdG9yZSk6CisgICAgICAgIChXZWJD
b3JlOjpJREJEYXRhYmFzZTo6dHJhbnNhY3Rpb24pOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhl
ZGRiL0lEQkZhY3RvcnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCRmFjdG9yeTo6b3Blbklu
dGVybmFsKToKKyAgICAgICAgKFdlYkNvcmU6OklEQkZhY3Rvcnk6OmRlbGV0ZURhdGFiYXNlKToK
KyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJIaXN0b2dyYW1zLmg6IFJlbW92ZWQuCisg
ICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvbGV2ZWxkYi9JREJCYWNraW5nU3RvcmVMZXZlbERC
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQkJhY2tpbmdTdG9yZUxldmVsREI6Om9wZW4pOgor
ICAgICAgICAoV2ViQ29yZTo6SURCQmFja2luZ1N0b3JlTGV2ZWxEQjo6b3BlbkluTWVtb3J5KToK
KyAgICAgICAgKFdlYkNvcmU6OnJlY29yZEludGVybmFsRXJyb3IpOiBEZWxldGVkLgorICAgICAg
ICAqIE1vZHVsZXMvaW5kZXhlZGRiL2xldmVsZGIvSURCQmFja2luZ1N0b3JlVHJhbnNhY3Rpb25M
ZXZlbERCLmNwcDoKKyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qOgor
ICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVyczoKKyAgICAg
ICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogY3NzL0NT
U1BhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjc3NQcm9wZXJ0eUlEKToKKyAgICAgICAg
KiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6On5Eb2N1bWVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpoaXN0b2dyYW1NdXRhdGlvbkV2ZW50VXNhZ2UpOiBEZWxl
dGVkLgorICAgICAgICAqIGRvbS9TaGFkb3dSb290LmNwcDoKKyAgICAgICAgKiBmaWxlYXBpL0Js
b2IuY3BwOgorICAgICAgICAqIGZpbGVhcGkvV2ViS2l0QmxvYkJ1aWxkZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6QmxvYkJ1aWxkZXI6OmFwcGVuZCk6CisgICAgICAgICogaGlzdG9yeS9QYWdl
Q2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bG9nQ2FuQ2FjaGVGcmFtZURlY2lzaW9uKToK
KyAgICAgICAgKFdlYkNvcmU6OmxvZ0NhbkNhY2hlUGFnZURlY2lzaW9uKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9IaXN0b2dyYW1TdXBwb3J0LmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9IaXN0b2dyYW1TdXBwb3J0Lmg6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbGV2ZWxk
Yi9MZXZlbERCRGF0YWJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGV2ZWxEQkRhdGFiYXNl
OjpvcGVuKToKKyAgICAgICAgKFdlYkNvcmU6Omhpc3RvZ3JhbUxldmVsREJFcnJvcik6IERlbGV0
ZWQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckxheWVyOjp1cGRhdGVOZWVkc0NvbXBvc2l0ZWRTY3JvbGxpbmcpOgorICAgICAg
ICAqIHhtbC9YTUxIdHRwUmVxdWVzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVx
dWVzdDo6c2VuZCk6CisKIDIwMTQtMDQtMjkgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5j
b20+CiAKICAgICAgICAgW2lPU10gUmVtb3ZlIHdvcmthcm91bmQgZm9yIDxyZGFyOi8vcHJvYmxl
bS8xNjU3ODcyNz4uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9JREJEYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJE
YXRhYmFzZS5jcHAKaW5kZXggNzhmODgwYy4uMDQ1NWQ0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlLmNwcApAQCAtMzEsNyArMzEsNiBAQAog
I2luY2x1ZGUgIkRPTVN0cmluZ0xpc3QuaCIKICNpbmNsdWRlICJFdmVudFF1ZXVlLmgiCiAjaW5j
bHVkZSAiRXhjZXB0aW9uQ29kZS5oIgotI2luY2x1ZGUgIkhpc3RvZ3JhbVN1cHBvcnQuaCIKICNp
bmNsdWRlICJJREJBbnkuaCIKICNpbmNsdWRlICJJREJEYXRhYmFzZUNhbGxiYWNrcy5oIgogI2lu
Y2x1ZGUgIklEQkRhdGFiYXNlRXJyb3IuaCIKQEAgLTE2MSw3ICsxNjAsNiBAQCBQYXNzUmVmUHRy
PElEQk9iamVjdFN0b3JlPiBJREJEYXRhYmFzZTo6Y3JlYXRlT2JqZWN0U3RvcmUoY29uc3QgU3Ry
aW5nJiBuYW1lLCBjbwogUGFzc1JlZlB0cjxJREJPYmplY3RTdG9yZT4gSURCRGF0YWJhc2U6OmNy
ZWF0ZU9iamVjdFN0b3JlKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgSURCS2V5UGF0aCYga2V5
UGF0aCwgYm9vbCBhdXRvSW5jcmVtZW50LCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBMT0co
U3RvcmFnZUFQSSwgIklEQkRhdGFiYXNlOjpjcmVhdGVPYmplY3RTdG9yZSIpOwotICAgIEhpc3Rv
Z3JhbVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJXZWJDb3JlLkluZGV4ZWREQi5Gcm9u
dEVuZEFQSUNhbGxzIiwgSURCQ3JlYXRlT2JqZWN0U3RvcmVDYWxsLCBJREJNZXRob2RzTWF4KTsK
ICAgICBpZiAoIW1fdmVyc2lvbkNoYW5nZVRyYW5zYWN0aW9uKSB7CiAgICAgICAgIGVjID0gSURC
RGF0YWJhc2VFeGNlcHRpb246OkludmFsaWRTdGF0ZUVycm9yOwogICAgICAgICByZXR1cm4gMDsK
QEAgLTIwMSw3ICsxOTksNiBAQCBQYXNzUmVmUHRyPElEQk9iamVjdFN0b3JlPiBJREJEYXRhYmFz
ZTo6Y3JlYXRlT2JqZWN0U3RvcmUoY29uc3QgU3RyaW5nJiBuYW1lLCBjbwogdm9pZCBJREJEYXRh
YmFzZTo6ZGVsZXRlT2JqZWN0U3RvcmUoY29uc3QgU3RyaW5nJiBuYW1lLCBFeGNlcHRpb25Db2Rl
JiBlYykKIHsKICAgICBMT0coU3RvcmFnZUFQSSwgIklEQkRhdGFiYXNlOjpkZWxldGVPYmplY3RT
dG9yZSIpOwotICAgIEhpc3RvZ3JhbVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJXZWJD
b3JlLkluZGV4ZWREQi5Gcm9udEVuZEFQSUNhbGxzIiwgSURCRGVsZXRlT2JqZWN0U3RvcmVDYWxs
LCBJREJNZXRob2RzTWF4KTsKICAgICBpZiAoIW1fdmVyc2lvbkNoYW5nZVRyYW5zYWN0aW9uKSB7
CiAgICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNlcHRpb246OkludmFsaWRTdGF0ZUVycm9yOwog
ICAgICAgICByZXR1cm47CkBAIC0yMjUsNyArMjIyLDYgQEAgdm9pZCBJREJEYXRhYmFzZTo6ZGVs
ZXRlT2JqZWN0U3RvcmUoY29uc3QgU3RyaW5nJiBuYW1lLCBFeGNlcHRpb25Db2RlJiBlYykKIFBh
c3NSZWZQdHI8SURCVHJhbnNhY3Rpb24+IElEQkRhdGFiYXNlOjp0cmFuc2FjdGlvbihTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgc2NvcGUsIGNv
bnN0IFN0cmluZyYgbW9kZVN0cmluZywgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAgTE9HKFN0
b3JhZ2VBUEksICJJREJEYXRhYmFzZTo6dHJhbnNhY3Rpb24iKTsKLSAgICBIaXN0b2dyYW1TdXBw
b3J0OjpoaXN0b2dyYW1FbnVtZXJhdGlvbigiV2ViQ29yZS5JbmRleGVkREIuRnJvbnRFbmRBUElD
YWxscyIsIElEQlRyYW5zYWN0aW9uQ2FsbCwgSURCTWV0aG9kc01heCk7CiAgICAgaWYgKCFzY29w
ZS5zaXplKCkpIHsKICAgICAgICAgZWMgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6SW52YWxpZEFj
Y2Vzc0Vycm9yOwogICAgICAgICByZXR1cm4gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL0lEQkZhY3RvcnkuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvSURCRmFjdG9yeS5jcHAKaW5kZXggNmI5MTk3NC4uMGI3MTY0YSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRmFjdG9yeS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRmFjdG9yeS5jcHAKQEAgLTM1
LDcgKzM1LDYgQEAKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCiAjaW5jbHVkZSAiRnJhbWUu
aCIKICNpbmNsdWRlICJHcm91cFNldHRpbmdzLmgiCi0jaW5jbHVkZSAiSGlzdG9ncmFtU3VwcG9y
dC5oIgogI2luY2x1ZGUgIklEQkJpbmRpbmdVdGlsaXRpZXMuaCIKICNpbmNsdWRlICJJREJEYXRh
YmFzZS5oIgogI2luY2x1ZGUgIklEQkRhdGFiYXNlQ2FsbGJhY2tzSW1wbC5oIgpAQCAtMTI0LDcg
KzEyMyw2IEBAIFBhc3NSZWZQdHI8SURCT3BlbkRCUmVxdWVzdD4gSURCRmFjdG9yeTo6b3BlbihT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBjCiAKIFBhc3NSZWZQdHI8SURCT3BlbkRC
UmVxdWVzdD4gSURCRmFjdG9yeTo6b3BlbkludGVybmFsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
IGNvbnRleHQsIGNvbnN0IFN0cmluZyYgbmFtZSwgdWludDY0X3QgdmVyc2lvbiwgSW5kZXhlZERC
OjpWZXJzaW9uTnVsbG5lc3MgdmVyc2lvbk51bGxuZXNzLCBFeGNlcHRpb25Db2RlJiBlYykKIHsK
LSAgICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1FbnVtZXJhdGlvbigiV2ViQ29yZS5JbmRl
eGVkREIuRnJvbnRFbmRBUElDYWxscyIsIElEQk9wZW5DYWxsLCBJREJNZXRob2RzTWF4KTsKICAg
ICBBU1NFUlQodmVyc2lvbiA+PSAxIHx8IHZlcnNpb25OdWxsbmVzcyA9PSBJbmRleGVkREI6OlZl
cnNpb25OdWxsbmVzczo6TnVsbCk7CiAgICAgaWYgKG5hbWUuaXNOdWxsKCkpIHsKICAgICAgICAg
ZWMgPSBUeXBlRXJyb3I7CkBAIC0xNDcsNyArMTQ1LDYgQEAgUGFzc1JlZlB0cjxJREJPcGVuREJS
ZXF1ZXN0PiBJREJGYWN0b3J5OjpvcGVuSW50ZXJuYWwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCog
Y28KIFBhc3NSZWZQdHI8SURCT3BlbkRCUmVxdWVzdD4gSURCRmFjdG9yeTo6ZGVsZXRlRGF0YWJh
c2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgY29uc3QgU3RyaW5nJiBuYW1lLCBF
eGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBMT0coU3RvcmFnZUFQSSwgIklEQkZhY3Rvcnk6OmRl
bGV0ZURhdGFiYXNlIik7Ci0gICAgSGlzdG9ncmFtU3VwcG9ydDo6aGlzdG9ncmFtRW51bWVyYXRp
b24oIldlYkNvcmUuSW5kZXhlZERCLkZyb250RW5kQVBJQ2FsbHMiLCBJREJEZWxldGVEYXRhYmFz
ZUNhbGwsIElEQk1ldGhvZHNNYXgpOwogICAgIGlmIChuYW1lLmlzTnVsbCgpKSB7CiAgICAgICAg
IGVjID0gVHlwZUVycm9yOwogICAgICAgICByZXR1cm4gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2xldmVsZGIvSURCQmFja2luZ1N0b3JlTGV2ZWxEQi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9sZXZlbGRiL0lEQkJhY2tpbmdT
dG9yZUxldmVsREIuY3BwCmluZGV4IDMxOGFlOGIuLjVlMDAxMGUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2xldmVsZGIvSURCQmFja2luZ1N0b3JlTGV2ZWxE
Qi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvbGV2ZWxkYi9JREJC
YWNraW5nU3RvcmVMZXZlbERCLmNwcApAQCAtMjksNyArMjksNiBAQAogI2lmIEVOQUJMRShJTkRF
WEVEX0RBVEFCQVNFKSAmJiBVU0UoTEVWRUxEQikKIAogI2luY2x1ZGUgIkZpbGVTeXN0ZW0uaCIK
LSNpbmNsdWRlICJIaXN0b2dyYW1TdXBwb3J0LmgiCiAjaW5jbHVkZSAiSURCRGF0YWJhc2VNZXRh
ZGF0YS5oIgogI2luY2x1ZGUgIklEQkluZGV4V3JpdGVyTGV2ZWxEQi5oIgogI2luY2x1ZGUgIklE
QktleS5oIgpAQCAtNzcsMTkgKzc2LDEyIEBAIGVudW0gSURCQmFja2luZ1N0b3JlTGV2ZWxEQkVy
cm9yU291cmNlIHsKICAgICBJREJMZXZlbERCQmFja2luZ1N0b3JlSW50ZXJuYWxFcnJvck1heCwK
IH07CiAKLXN0YXRpYyB2b2lkIHJlY29yZEludGVybmFsRXJyb3IoY29uc3QgY2hhciogdHlwZSwg
SURCQmFja2luZ1N0b3JlTGV2ZWxEQkVycm9yU291cmNlIGxvY2F0aW9uKQotewotICAgIFN0cmlu
ZyBuYW1lID0gU3RyaW5nOjpmb3JtYXQoIldlYkNvcmUuSW5kZXhlZERCLkJhY2tpbmdTdG9yZS4l
c0Vycm9yIiwgdHlwZSk7Ci0gICAgSGlzdG9ncmFtU3VwcG9ydDo6aGlzdG9ncmFtRW51bWVyYXRp
b24obmFtZS51dGY4KCkuZGF0YSgpLCBsb2NhdGlvbiwgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZUlu
dGVybmFsRXJyb3JNYXgpOwotfQotCiAvLyBVc2UgdG8gc2lnbmFsIGNvbmRpdGlvbnMgdGhhdCB1
c3VhbGx5IGluZGljYXRlIGRldmVsb3BlciBlcnJvciwgYnV0IGNvdWxkIGJlIGNhdXNlZCBieSBk
YXRhIGNvcnJ1cHRpb24uCiAvLyBBIG1hY3JvIGlzIHVzZWQgaW5zdGVhZCBvZiBhbiBpbmxpbmUg
ZnVuY3Rpb24gc28gdGhhdCB0aGUgYXNzZXJ0IGFuZCBsb2cgcmVwb3J0IHRoZSBsaW5lIG51bWJl
ci4KICNkZWZpbmUgUkVQT1JUX0VSUk9SKHR5cGUsIGxvY2F0aW9uKSBcCiAgICAgZG8geyBcCiAg
ICAgICAgIExPR19FUlJPUigiSW5kZXhlZERCICVzIEVycm9yOiAlcyIsIHR5cGUsICNsb2NhdGlv
bik7IFwKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7IFwKLSAgICAgICAgcmVjb3JkSW50
ZXJuYWxFcnJvcih0eXBlLCBsb2NhdGlvbik7IFwKICAgICB9IHdoaWxlICgwKQogCiAjZGVmaW5l
IElOVEVSTkFMX1JFQURfRVJST1IobG9jYXRpb24pIFJFUE9SVF9FUlJPUigiUmVhZCIsIGxvY2F0
aW9uKQpAQCAtMzUxLDIxICszNDMsNiBAQCBJREJCYWNraW5nU3RvcmVMZXZlbERCOjp+SURCQmFj
a2luZ1N0b3JlTGV2ZWxEQigpCiAgICAgbV9jb21wYXJhdG9yID0gbnVsbHB0cjsKIH0KIAotZW51
bSBJREJMZXZlbERCQmFja2luZ1N0b3JlT3BlblJlc3VsdCB7Ci0gICAgSURCTGV2ZWxEQkJhY2tp
bmdTdG9yZU9wZW5NZW1vcnlTdWNjZXNzLAotICAgIElEQkxldmVsREJCYWNraW5nU3RvcmVPcGVu
U3VjY2VzcywKLSAgICBJREJMZXZlbERCQmFja2luZ1N0b3JlT3BlbkZhaWxlZERpcmVjdG9yeSwK
LSAgICBJREJMZXZlbERCQmFja2luZ1N0b3JlT3BlbkZhaWxlZFVua25vd25TY2hlbWEsCi0gICAg
SURCTGV2ZWxEQkJhY2tpbmdTdG9yZU9wZW5DbGVhbnVwRGVzdHJveUZhaWxlZCwKLSAgICBJREJM
ZXZlbERCQmFja2luZ1N0b3JlT3BlbkNsZWFudXBSZW9wZW5GYWlsZWQsCi0gICAgSURCTGV2ZWxE
QkJhY2tpbmdTdG9yZU9wZW5DbGVhbnVwUmVvcGVuU3VjY2VzcywKLSAgICBJREJMZXZlbERCQmFj
a2luZ1N0b3JlT3BlbkZhaWxlZElPRXJyQ2hlY2tpbmdTY2hlbWEsCi0gICAgSURCTGV2ZWxEQkJh
Y2tpbmdTdG9yZU9wZW5GYWlsZWRVbmtub3duRXJyLAotICAgIElEQkxldmVsREJCYWNraW5nU3Rv
cmVPcGVuTWVtb3J5RmFpbGVkLAotICAgIElEQkxldmVsREJCYWNraW5nU3RvcmVPcGVuQXR0ZW1w
dE5vbkFTQ0lJLAotICAgIElEQkxldmVsREJCYWNraW5nU3RvcmVPcGVuTWF4LAotfTsKLQogUGFz
c1JlZlB0cjxJREJCYWNraW5nU3RvcmVMZXZlbERCPiBJREJCYWNraW5nU3RvcmVMZXZlbERCOjpv
cGVuKGNvbnN0IFNlY3VyaXR5T3JpZ2luJiBzZWN1cml0eU9yaWdpbiwgY29uc3QgU3RyaW5nJiBw
YXRoQmFzZUFyZywgY29uc3QgU3RyaW5nJiBmaWxlSWRlbnRpZmllcikKIHsKICAgICBEZWZhdWx0
TGV2ZWxEQkZhY3RvcnkgbGV2ZWxEQkZhY3Rvcnk7CkBAIC0zODEsMTEgKzM1OCw4IEBAIFBhc3NS
ZWZQdHI8SURCQmFja2luZ1N0b3JlTGV2ZWxEQj4gSURCQmFja2luZ1N0b3JlTGV2ZWxEQjo6b3Bl
bihjb25zdCBTZWN1cml0eU9yCiAgICAgc3RkOjp1bmlxdWVfcHRyPExldmVsREJDb21wYXJhdG9y
PiBjb21wYXJhdG9yID0gc3RkOjptYWtlX3VuaXF1ZTxDb21wYXJhdG9yPigpOwogICAgIHN0ZDo6
dW5pcXVlX3B0cjxMZXZlbERCRGF0YWJhc2U+IGRiOwogCi0gICAgaWYgKCFwYXRoQmFzZS5jb250
YWluc09ubHlBU0NJSSgpKQotICAgICAgICAgICAgSGlzdG9ncmFtU3VwcG9ydDo6aGlzdG9ncmFt
RW51bWVyYXRpb24oIldlYkNvcmUuSW5kZXhlZERCLkJhY2tpbmdTdG9yZS5PcGVuU3RhdHVzIiwg
SURCTGV2ZWxEQkJhY2tpbmdTdG9yZU9wZW5BdHRlbXB0Tm9uQVNDSUksIElEQkxldmVsREJCYWNr
aW5nU3RvcmVPcGVuTWF4KTsKICAgICBpZiAoIW1ha2VBbGxEaXJlY3RvcmllcyhwYXRoQmFzZSkp
IHsKICAgICAgICAgTE9HX0VSUk9SKCJVbmFibGUgdG8gY3JlYXRlIEluZGV4ZWREQiBkYXRhYmFz
ZSBwYXRoICVzIiwgcGF0aEJhc2UudXRmOCgpLmRhdGEoKSk7Ci0gICAgICAgIEhpc3RvZ3JhbVN1
cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJXZWJDb3JlLkluZGV4ZWREQi5CYWNraW5nU3Rv
cmUuT3BlblN0YXR1cyIsIElEQkxldmVsREJCYWNraW5nU3RvcmVPcGVuRmFpbGVkRGlyZWN0b3J5
LCBJREJMZXZlbERCQmFja2luZ1N0b3JlT3Blbk1heCk7CiAgICAgICAgIHJldHVybiBQYXNzUmVm
UHRyPElEQkJhY2tpbmdTdG9yZUxldmVsREI+KCk7CiAgICAgfQogCkBAIC0zOTcsMjMgKzM3MSwx
OCBAQCBQYXNzUmVmUHRyPElEQkJhY2tpbmdTdG9yZUxldmVsREI+IElEQkJhY2tpbmdTdG9yZUxl
dmVsREI6Om9wZW4oY29uc3QgU2VjdXJpdHlPcgogICAgICAgICBib29sIG9rID0gaXNTY2hlbWFL
bm93bihkYi5nZXQoKSwga25vd24pOwogICAgICAgICBpZiAoIW9rKSB7CiAgICAgICAgICAgICBM
T0dfRVJST1IoIkluZGV4ZWREQiBoYWQgSU8gZXJyb3IgY2hlY2tpbmcgc2NoZW1hLCB0cmVhdGlu
ZyBpdCBhcyBmYWlsdXJlIHRvIG9wZW4iKTsKLSAgICAgICAgICAgIEhpc3RvZ3JhbVN1cHBvcnQ6
Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJXZWJDb3JlLkluZGV4ZWREQi5CYWNraW5nU3RvcmUuT3Bl
blN0YXR1cyIsIElEQkxldmVsREJCYWNraW5nU3RvcmVPcGVuRmFpbGVkSU9FcnJDaGVja2luZ1Nj
aGVtYSwgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZU9wZW5NYXgpOwogICAgICAgICAgICAgZGIgPSBu
dWxscHRyOwogICAgICAgICB9IGVsc2UgaWYgKCFrbm93bikgewogICAgICAgICAgICAgTE9HX0VS
Uk9SKCJJbmRleGVkREIgYmFja2luZyBzdG9yZSBoYWQgdW5rbm93biBzY2hlbWEsIHRyZWF0aW5n
IGl0IGFzIGZhaWx1cmUgdG8gb3BlbiIpOwotICAgICAgICAgICAgSGlzdG9ncmFtU3VwcG9ydDo6
aGlzdG9ncmFtRW51bWVyYXRpb24oIldlYkNvcmUuSW5kZXhlZERCLkJhY2tpbmdTdG9yZS5PcGVu
U3RhdHVzIiwgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZU9wZW5GYWlsZWRVbmtub3duU2NoZW1hLCBJ
REJMZXZlbERCQmFja2luZ1N0b3JlT3Blbk1heCk7CiAgICAgICAgICAgICBkYiA9IG51bGxwdHI7
CiAgICAgICAgIH0KICAgICB9CiAKLSAgICBpZiAoZGIpCi0gICAgICAgIEhpc3RvZ3JhbVN1cHBv
cnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJXZWJDb3JlLkluZGV4ZWREQi5CYWNraW5nU3RvcmUu
T3BlblN0YXR1cyIsIElEQkxldmVsREJCYWNraW5nU3RvcmVPcGVuU3VjY2VzcywgSURCTGV2ZWxE
QkJhY2tpbmdTdG9yZU9wZW5NYXgpOwotICAgIGVsc2UgeworICAgIGlmICghZGIpIHsKICAgICAg
ICAgTE9HX0VSUk9SKCJJbmRleGVkREIgYmFja2luZyBzdG9yZSBvcGVuIGZhaWxlZCwgYXR0ZW1w
dGluZyBjbGVhbnVwIik7CiAgICAgICAgIGJvb2wgc3VjY2VzcyA9IGxldmVsREJGYWN0b3J5LT5k
ZXN0cm95TGV2ZWxEQihwYXRoKTsKICAgICAgICAgaWYgKCFzdWNjZXNzKSB7CiAgICAgICAgICAg
ICBMT0dfRVJST1IoIkluZGV4ZWREQiBiYWNraW5nIHN0b3JlIGNsZWFudXAgZmFpbGVkIik7Ci0g
ICAgICAgICAgICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1FbnVtZXJhdGlvbigiV2ViQ29y
ZS5JbmRleGVkREIuQmFja2luZ1N0b3JlLk9wZW5TdGF0dXMiLCBJREJMZXZlbERCQmFja2luZ1N0
b3JlT3BlbkNsZWFudXBEZXN0cm95RmFpbGVkLCBJREJMZXZlbERCQmFja2luZ1N0b3JlT3Blbk1h
eCk7CiAgICAgICAgICAgICByZXR1cm4gUGFzc1JlZlB0cjxJREJCYWNraW5nU3RvcmVMZXZlbERC
PigpOwogICAgICAgICB9CiAKQEAgLTQyMSwxNSArMzkwLDEyIEBAIFBhc3NSZWZQdHI8SURCQmFj
a2luZ1N0b3JlTGV2ZWxEQj4gSURCQmFja2luZ1N0b3JlTGV2ZWxEQjo6b3Blbihjb25zdCBTZWN1
cml0eU9yCiAgICAgICAgIGRiID0gbGV2ZWxEQkZhY3RvcnktPm9wZW5MZXZlbERCKHBhdGgsIGNv
bXBhcmF0b3IuZ2V0KCkpOwogICAgICAgICBpZiAoIWRiKSB7CiAgICAgICAgICAgICBMT0dfRVJS
T1IoIkluZGV4ZWREQiBiYWNraW5nIHN0b3JlIHJlb3BlbiBhZnRlciByZWNvdmVyeSBmYWlsZWQi
KTsKLSAgICAgICAgICAgIEhpc3RvZ3JhbVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJX
ZWJDb3JlLkluZGV4ZWREQi5CYWNraW5nU3RvcmUuT3BlblN0YXR1cyIsIElEQkxldmVsREJCYWNr
aW5nU3RvcmVPcGVuQ2xlYW51cFJlb3BlbkZhaWxlZCwgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZU9w
ZW5NYXgpOwogICAgICAgICAgICAgcmV0dXJuIFBhc3NSZWZQdHI8SURCQmFja2luZ1N0b3JlTGV2
ZWxEQj4oKTsKICAgICAgICAgfQotICAgICAgICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1F
bnVtZXJhdGlvbigiV2ViQ29yZS5JbmRleGVkREIuQmFja2luZ1N0b3JlLk9wZW5TdGF0dXMiLCBJ
REJMZXZlbERCQmFja2luZ1N0b3JlT3BlbkNsZWFudXBSZW9wZW5TdWNjZXNzLCBJREJMZXZlbERC
QmFja2luZ1N0b3JlT3Blbk1heCk7CiAgICAgfQogCiAgICAgaWYgKCFkYikgewogICAgICAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgSGlzdG9ncmFtU3VwcG9ydDo6aGlzdG9ncmFt
RW51bWVyYXRpb24oIldlYkNvcmUuSW5kZXhlZERCLkJhY2tpbmdTdG9yZS5PcGVuU3RhdHVzIiwg
SURCTGV2ZWxEQkJhY2tpbmdTdG9yZU9wZW5GYWlsZWRVbmtub3duRXJyLCBJREJMZXZlbERCQmFj
a2luZ1N0b3JlT3Blbk1heCk7CiAgICAgICAgIHJldHVybiBQYXNzUmVmUHRyPElEQkJhY2tpbmdT
dG9yZUxldmVsREI+KCk7CiAgICAgfQogCkBAIC00NTAsMTAgKzQxNiw4IEBAIFBhc3NSZWZQdHI8
SURCQmFja2luZ1N0b3JlTGV2ZWxEQj4gSURCQmFja2luZ1N0b3JlTGV2ZWxEQjo6b3BlbkluTWVt
b3J5KGNvbnN0IFN0CiAgICAgc3RkOjp1bmlxdWVfcHRyPExldmVsREJEYXRhYmFzZT4gZGIgPSBM
ZXZlbERCRGF0YWJhc2U6Om9wZW5Jbk1lbW9yeShjb21wYXJhdG9yLmdldCgpKTsKICAgICBpZiAo
IWRiKSB7CiAgICAgICAgIExPR19FUlJPUigiTGV2ZWxEQkRhdGFiYXNlOjpvcGVuSW5NZW1vcnkg
ZmFpbGVkLiIpOwotICAgICAgICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1FbnVtZXJhdGlv
bigiV2ViQ29yZS5JbmRleGVkREIuQmFja2luZ1N0b3JlLk9wZW5TdGF0dXMiLCBJREJMZXZlbERC
QmFja2luZ1N0b3JlT3Blbk1lbW9yeUZhaWxlZCwgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZU9wZW5N
YXgpOwogICAgICAgICByZXR1cm4gUGFzc1JlZlB0cjxJREJCYWNraW5nU3RvcmVMZXZlbERCPigp
OwogICAgIH0KLSAgICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1FbnVtZXJhdGlvbigiV2Vi
Q29yZS5JbmRleGVkREIuQmFja2luZ1N0b3JlLk9wZW5TdGF0dXMiLCBJREJMZXZlbERCQmFja2lu
Z1N0b3JlT3Blbk1lbW9yeVN1Y2Nlc3MsIElEQkxldmVsREJCYWNraW5nU3RvcmVPcGVuTWF4KTsK
IAogICAgIHJldHVybiBjcmVhdGUoaWRlbnRpZmllciwgc3RkOjptb3ZlKGRiKSwgc3RkOjptb3Zl
KGNvbXBhcmF0b3IpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL2xldmVsZGIvSURCQmFja2luZ1N0b3JlVHJhbnNhY3Rpb25MZXZlbERCLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2xldmVsZGIvSURCQmFja2luZ1N0b3JlVHJh
bnNhY3Rpb25MZXZlbERCLmNwcAppbmRleCBhN2E1ZjY2Li5iZWRiYjRjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9sZXZlbGRiL0lEQkJhY2tpbmdTdG9yZVRy
YW5zYWN0aW9uTGV2ZWxEQi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvbGV2ZWxkYi9JREJCYWNraW5nU3RvcmVUcmFuc2FjdGlvbkxldmVsREIuY3BwCkBAIC0yOCw3
ICsyOCw2IEBACiAKICNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkgJiYgVVNFKExFVkVMREIp
CiAKLSNpbmNsdWRlICJIaXN0b2dyYW1TdXBwb3J0LmgiCiAjaW5jbHVkZSAiSURCQmFja2luZ1N0
b3JlTGV2ZWxEQi5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9D
U3RyaW5nLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2Vi
Q29yZS52Y3hwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4
cHJvagppbmRleCBmMTAyOTMzLi5kYzIyNDBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKQEAgLTc0NDIsNyArNzQ0Miw2IEBACiAgICAgICA8
RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3Jt
KSc9PSdEZWJ1Z19XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAg
IDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZv
cm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAg
ICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxIaXN0
b2dyYW1TdXBwb3J0LmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHBsYXRmb3Jt
XGdyYXBoaWNzXHdpblxNZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5kYXRpb24uY3BwIj4KICAg
ICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxh
dGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8
RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3Jt
KSc9PSdEZWJ1Z3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KQEAgLTE5MjI2LDcgKzE5
MjI1LDYgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXFZp
ZGVvVHJhY2tQcml2YXRlLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9y
bVxncmFwaGljc1x3aW5cTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uLmgiIC8+CiAg
ICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1x3aW5cU2hhcmVkR0RJ
T2JqZWN0LmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxIaXN0b2dy
YW1TdXBwb3J0LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxIb3N0
V2luZG93LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxLZXlwcmVz
c0NvbW1hbmQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXEtpbGxS
aW5nLmgiIC8+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2Vi
Q29yZS52Y3hwcm9qLmZpbHRlcnMgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2Vi
Q29yZS52Y3hwcm9qLmZpbHRlcnMKaW5kZXggZDJmYWJhZS4uZjdmNzhiZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVy
cwpAQCAtMTA4OSw5ICsxMDg5LDYgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHBsYXRm
b3JtXEZpbGVTeXN0ZW0uY3BwIj4KICAgICAgIDxGaWx0ZXI+cGxhdGZvcm08L0ZpbHRlcj4KICAg
ICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXEhpc3Rv
Z3JhbVN1cHBvcnQuY3BwIj4KLSAgICAgIDxGaWx0ZXI+cGxhdGZvcm08L0ZpbHRlcj4KLSAgICA8
L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXEtpbGxSaW5n
Tm9uZS5jcHAiPgogICAgICAgPEZpbHRlcj5wbGF0Zm9ybTwvRmlsdGVyPgogICAgIDwvQ2xDb21w
aWxlPgpAQCAtODAzOCw5ICs4MDM1LDYgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBs
YXRmb3JtXEZsb2F0Q29udmVyc2lvbi5oIj4KICAgICAgIDxGaWx0ZXI+cGxhdGZvcm08L0ZpbHRl
cj4KICAgICA8L0NsSW5jbHVkZT4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3Jt
XEhpc3RvZ3JhbVN1cHBvcnQuaCI+Ci0gICAgICA8RmlsdGVyPnBsYXRmb3JtPC9GaWx0ZXI+Ci0g
ICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxIb3N0
V2luZG93LmgiPgogICAgICAgPEZpbHRlcj5wbGF0Zm9ybTwvRmlsdGVyPgogICAgIDwvQ2xJbmNs
dWRlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCmluZGV4IDA0OTcxMzEuLjI2NTg3ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE5MzAsNyArMTkzMCw2IEBACiAJCTUx
RDcxOUQzMTgxMTA2RTAwMDE2REM1MSAvKiBJREJGYWN0b3J5LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUQ3MTk4OTE4MTEwNkRGMDAxNkRDNTEgLyog
SURCRmFjdG9yeS5oICovOyB9OwogCQk1MUQ3MTlENTE4MTEwNkUwMDAxNkRDNTEgLyogSURCRmFj
dG9yeUJhY2tlbmRJbnRlcmZhY2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNTFENzE5OEIxODExMDZERjAwMTZEQzUxIC8qIElEQkZhY3RvcnlCYWNr
ZW5kSW50ZXJmYWNlLmNwcCAqLzsgfTsKIAkJNTFENzE5RDYxODExMDZFMDAwMTZEQzUxIC8qIElE
QkZhY3RvcnlCYWNrZW5kSW50ZXJmYWNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1MUQ3MTk4QzE4MTEwNkUwMDAxNkRDNTEgLyogSURCRmFjdG9yeUJh
Y2tlbmRJbnRlcmZhY2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwotCQk1MUQ3MTlENzE4MTEwNkUwMDAxNkRDNTEgLyogSURCSGlzdG9ncmFtcy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFENzE5OEQxODEx
MDZFMDAwMTZEQzUxIC8qIElEQkhpc3RvZ3JhbXMuaCAqLzsgfTsKIAkJNTFENzE5RDgxODExMDZF
MDAwMTZEQzUxIC8qIElEQkluZGV4LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDUxRDcxOThFMTgxMTA2RTAwMDE2REM1MSAvKiBJREJJbmRleC5jcHAg
Ki87IH07CiAJCTUxRDcxOUQ5MTgxMTA2RTAwMDE2REM1MSAvKiBJREJJbmRleC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFENzE5OEYxODExMDZFMDAw
MTZEQzUxIC8qIElEQkluZGV4LmggKi87IH07CiAJCTUxRDcxOURCMTgxMTA2RTAwMDE2REM1MSAv
KiBJREJLZXkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNTFENzE5OTExODExMDZFMDAwMTZEQzUxIC8qIElEQktleS5jcHAgKi87IH07CkBAIC01NzU0
LDcgKzU3NTMsNiBAQAogCQlENkU1MjhBMzE0OUE5MjZEMDBFRkUxRjMgLyogTXV0YXRpb25PYnNl
cnZlckludGVyZXN0R3JvdXAuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRDZFNTI4QTExNDlBOTI2RDAwRUZFMUYzIC8qIE11dGF0aW9uT2JzZXJ2ZXJJ
bnRlcmVzdEdyb3VwLmNwcCAqLzsgfTsKIAkJRDZFNTI4QTQxNDlBOTI2RDAwRUZFMUYzIC8qIE11
dGF0aW9uT2JzZXJ2ZXJJbnRlcmVzdEdyb3VwLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBENkU1MjhBMjE0OUE5MjZEMDBFRkUxRjMgLyogTXV0YXRpb25P
YnNlcnZlckludGVyZXN0R3JvdXAuaCAqLzsgfTsKIAkJRDZGNzk2MEQxNjZGRkVDRTAwNzZERDE4
IC8qIEpTSFRNTFRlbXBsYXRlRWxlbWVudEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBENkY3OTYwQzE2NkZGRUNFMDA3NkREMTggLyogSlNI
VE1MVGVtcGxhdGVFbGVtZW50Q3VzdG9tLmNwcCAqLzsgfTsKLQkJRDZGREFFRjMxNDlDMDYxOTAw
MzdCMUUxIC8qIEhpc3RvZ3JhbVN1cHBvcnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRDZGREFFRjIxNDlDMDYxOTAwMzdCMUUxIC8qIEhpc3RvZ3Jh
bVN1cHBvcnQuY3BwICovOyB9OwogCQlENzBBRDY1NzEzRTEzNDJCMDA1QjUwQjQgLyogUmVuZGVy
UmVnaW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEQ3MEFENjU1MTNFMTM0MkIwMDVCNTBCNCAvKiBSZW5kZXJSZWdpb24uY3BwICovOyB9OwogCQlE
NzBBRDY1ODEzRTEzNDJCMDA1QjUwQjQgLyogUmVuZGVyUmVnaW9uLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBENzBBRDY1NjEzRTEzNDJCMDA1QjUwQjQg
LyogUmVuZGVyUmVnaW9uLmggKi87IH07CiAJCUQ3MkY2RDc5MTUzMTU5QTMwMDFFRTQ0RSAvKiBG
bG93VGhyZWFkQ29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBENzJGNkQ3NzE1MzE1OUEzMDAxRUU0NEUgLyogRmxvd1RocmVhZENvbnRy
b2xsZXIuY3BwICovOyB9OwpAQCAtODkzNSw3ICs4OTMzLDYgQEAKIAkJNTFENzE5OEExODExMDZE
RjAwMTZEQzUxIC8qIElEQkZhY3RvcnkuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IElEQkZh
Y3RvcnkuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MUQ3MTk4QjE4MTEwNkRG
MDAxNkRDNTEgLyogSURCRmFjdG9yeUJhY2tlbmRJbnRlcmZhY2UuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSURCRmFjdG9yeUJhY2tlbmRJbnRlcmZhY2UuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MUQ3MTk4QzE4MTEwNkUwMDAxNkRDNTEgLyog
SURCRmFjdG9yeUJhY2tlbmRJbnRlcmZhY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gSURCRmFjdG9yeUJhY2tlbmRJbnRlcmZhY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJNTFENzE5OEQxODExMDZFMDAwMTZEQzUxIC8qIElEQkhpc3RvZ3JhbXMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSURCSGlzdG9ncmFtcy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk1MUQ3MTk4RTE4MTEwNkUwMDAxNkRDNTEgLyogSURCSW5kZXgu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSURCSW5kZXguY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MUQ3MTk4RjE4MTEwNkUwMDAxNkRDNTEgLyog
SURCSW5kZXguaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSURCSW5kZXguaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTFENzE5OTAxODExMDZFMDAwMTZEQzUxIC8q
IElEQkluZGV4LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBJREJJbmRleC5pZGw7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMzEzMiw3ICsxMzEyOSw2IEBACiAJCUQzRDRFOTcx
MTMwQzdDRkUwMDdCQTU0MCAvKiBIVE1MU3VtbWFyeUVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSFRNTFN1bW1hcnlFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUQ2MTlBMzA1MTQ0RTAwQkUwMDRCQzMwMiAvKiBDaGlsZExpc3RNdXRhdGlv
blNjb3BlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENoaWxkTGlz
dE11dGF0aW9uU2NvcGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlENjE5QTMw
NjE0NEUwMEJFMDA0QkMzMDIgLyogQ2hpbGRMaXN0TXV0YXRpb25TY29wZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBDaGlsZExpc3RNdXRhdGlvblNjb3BlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUQ2MzBFMkFCMTQ5QkYzNDQwMDVCMkY5MyAvKiBIaXN0b2dy
YW1TdXBwb3J0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhpc3RvZ3JhbVN1
cHBvcnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDY0ODlEMjMxNjZGRkNGMTAw
N0MwMzFCIC8qIEpTSFRNTFRlbXBsYXRlRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBKU0hUTUxUZW1wbGF0ZUVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlENjQ4OUQyNDE2NkZGQ0YxMDA3QzAzMUIgLyogSlNIVE1MVGVtcGxh
dGVFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTSFRNTFRlbXBs
YXRlRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlENjZCMkQ1QjE4Njgz
MDA1MDA3M0M0REQgLyogUGxhdGZvcm1DQUZpbHRlcnNNYWMuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBuYW1lID0gUGxhdGZvcm1DQUZpbHRlcnNNYWMuaDsgcGF0aCA9IGNhL21hYy9QbGF0
Zm9ybUNBRmlsdGVyc01hYy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTMxNDQs
NyArMTMxNDAsNiBAQAogCQlENkVGQzBCQzE2NjZERjdBMDAzRDI5MUUgLyogSFRNTFRlbXBsYXRl
RWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIVE1MVGVtcGxhdGVF
bGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQ2RUZDMEJEMTY2NkRGN0Ew
MDNEMjkxRSAvKiBIVE1MVGVtcGxhdGVFbGVtZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSBIVE1MVGVtcGxhdGVFbGVtZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
RDZGNzk2MEMxNjZGRkVDRTAwNzZERDE4IC8qIEpTSFRNTFRlbXBsYXRlRWxlbWVudEN1c3RvbS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0hUTUxUZW1wbGF0ZUVs
ZW1lbnRDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlENkZEQUVGMjE0
OUMwNjE5MDAzN0IxRTEgLyogSGlzdG9ncmFtU3VwcG9ydC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBIaXN0b2dyYW1TdXBwb3J0LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJRDcwQUQ2NTUxM0UxMzQyQjAwNUI1MEI0IC8qIFJlbmRlclJlZ2lvbi5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJSZWdpb24uY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlENzBBRDY1NjEzRTEzNDJCMDA1QjUwQjQg
LyogUmVuZGVyUmVnaW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRl
clJlZ2lvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlENzJGNkQ3NzE1MzE1OUEz
MDAxRUU0NEUgLyogRmxvd1RocmVhZENvbnRyb2xsZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gRmxvd1RocmVhZENvbnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtMTc4MDQsNyArMTc3OTksNiBAQAogCQkJCTUxRDcxOThCMTgxMTA2
REYwMDE2REM1MSAvKiBJREJGYWN0b3J5QmFja2VuZEludGVyZmFjZS5jcHAgKi8sCiAJCQkJNTFE
NzE5OEMxODExMDZFMDAwMTZEQzUxIC8qIElEQkZhY3RvcnlCYWNrZW5kSW50ZXJmYWNlLmggKi8s
CiAJCQkJNTEyM0FGMUMxODkxOEFFNDAwMzFDREM5IC8qIElEQkdldFJlc3VsdC5oICovLAotCQkJ
CTUxRDcxOThEMTgxMTA2RTAwMDE2REM1MSAvKiBJREJIaXN0b2dyYW1zLmggKi8sCiAJCQkJNTFE
NzE5OEUxODExMDZFMDAwMTZEQzUxIC8qIElEQkluZGV4LmNwcCAqLywKIAkJCQk1MUQ3MTk4RjE4
MTEwNkUwMDAxNkRDNTEgLyogSURCSW5kZXguaCAqLywKIAkJCQk1MUQ3MTk5MDE4MTEwNkUwMDAx
NkRDNTEgLyogSURCSW5kZXguaWRsICovLApAQCAtMjEwMjgsOCArMjEwMjIsNiBAQAogCQkJCTUx
NEIzRjcyMEM3MjIwNDcwMDA1MzBERiAvKiBGaWxlU3lzdGVtLmggKi8sCiAJCQkJQkMwNzNCQTkw
QzM5OUIxRjAwMEY1OTc5IC8qIEZsb2F0Q29udmVyc2lvbi5oICovLAogCQkJCUE4NzQ4QkRGMTJD
QkYyREMwMDFGQkE0MSAvKiBIYXNoVG9vbHMuaCAqLywKLQkJCQlENkZEQUVGMjE0OUMwNjE5MDAz
N0IxRTEgLyogSGlzdG9ncmFtU3VwcG9ydC5jcHAgKi8sCi0JCQkJRDYzMEUyQUIxNDlCRjM0NDAw
NUIyRjkzIC8qIEhpc3RvZ3JhbVN1cHBvcnQuaCAqLywKIAkJCQlCQzNCQzI5QjBFOTFBQjBGMDA4
MzU1ODggLyogSG9zdFdpbmRvdy5oICovLAogCQkJCTg2MkYxMjlGMThDMURDRTQwMDVDNTRBRiAv
KiBIeXN0ZXJlc2lzQWN0aXZpdHkuaCAqLywKIAkJCQlFMTVGRjdENDE4Qzk1NTM4MDBGRTRDODcg
LyogS2V5cHJlc3NDb21tYW5kLmggKi8sCkBAIC0yNDE4Nyw3ICsyNDE3OSw2IEBACiAJCQkJNTFE
NzE5RDYxODExMDZFMDAwMTZEQzUxIC8qIElEQkZhY3RvcnlCYWNrZW5kSW50ZXJmYWNlLmggaW4g
SGVhZGVycyAqLywKIAkJCQk1MTY2MEFCOTE4MjhCQjgyMDAwNzRDQUQgLyogSURCRmFjdG9yeUJh
Y2tlbmRMZXZlbERCLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTIzQUYxRDE4OTE4QUU0MDAzMUNE
QzkgLyogSURCR2V0UmVzdWx0LmggaW4gSGVhZGVycyAqLywKLQkJCQk1MUQ3MTlENzE4MTEwNkUw
MDAxNkRDNTEgLyogSURCSGlzdG9ncmFtcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTFENzE5RDkx
ODExMDZFMDAwMTZEQzUxIC8qIElEQkluZGV4LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MUFCQjVC
ODE4NkQwRUQxMDA4MzkxQTEgLyogSURCSW5kZXhNZXRhZGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNTEwMTk0NDExODM2RDIwODAwOTI1NTIzIC8qIElEQkluZGV4V3JpdGVyTGV2ZWxEQi5oIGlu
IEhlYWRlcnMgKi8sCkBAIC0yNzQ1Miw3ICsyNzQ0Myw2IEBACiAJCQkJQjJBMDE1QUEwQUY2Q0Q1
MzAwNkJDRTBFIC8qIEdyYXBoaWNzVHlwZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQzUwQjU2
MTYxMjExOUQyMzAwOEI0NkUwIC8qIEdyb3VwU2V0dGluZ3MuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJRjU1QjNEQkYxMjUxRjEyRDAwM0VGMjY5IC8qIEhpZGRlbklucHV0VHlwZS5jcHAgaW4gU291
cmNlcyAqLywKLQkJCQlENkZEQUVGMzE0OUMwNjE5MDAzN0IxRTEgLyogSGlzdG9ncmFtU3VwcG9y
dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzk0RDE1MzBDMjc1QzhCMDA2QkM2MTcgLyogSGlz
dG9yeS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5N0RDRTIwMTEwODA3Qzc1MDA1N0QzOTQgLyog
SGlzdG9yeUNvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTE3NDFEMTIwQjA3MjU5
QTAwRUQ0NDJDIC8qIEhpc3RvcnlJdGVtLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UGFyc2VyLmNwcAppbmRleCA5NmNhYWU2Li43NzYzMmJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2Vy
LmNwcApAQCAtNjIsNyArNjIsNiBAQAogI2luY2x1ZGUgIkZsb2F0Q29udmVyc2lvbi5oIgogI2lu
Y2x1ZGUgIkhUTUxQYXJzZXJJZGlvbXMuaCIKICNpbmNsdWRlICJIYXNoVG9vbHMuaCIKLSNpbmNs
dWRlICJIaXN0b2dyYW1TdXBwb3J0LmgiCiAjaW5jbHVkZSAiTWVkaWFMaXN0LmgiCiAjaW5jbHVk
ZSAiTWVkaWFRdWVyeUV4cC5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKQEAgLTExOTM4LDE2ICsxMTkz
Nyw3IEBAIHN0YXRpYyBDU1NQcm9wZXJ0eUlEIGNzc1Byb3BlcnR5SUQoY29uc3QgQ2hhcmFjdGVy
VHlwZSogcHJvcGVydHlOYW1lLCB1bnNpZ25lZCBsCiAgICAgfQogCiAgICAgY29uc3QgUHJvcGVy
dHkqIGhhc2hUYWJsZUVudHJ5ID0gZmluZFByb3BlcnR5KG5hbWUsIGxlbmd0aCk7Ci0gICAgY29u
c3QgQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlEID0gaGFzaFRhYmxlRW50cnkgPyBzdGF0aWNfY2Fz
dDxDU1NQcm9wZXJ0eUlEPihoYXNoVGFibGVFbnRyeS0+aWQpIDogQ1NTUHJvcGVydHlJbnZhbGlk
OwotCi0gICAgc3RhdGljIGNvbnN0IGludCBjc3NQcm9wZXJ0eUhpc3RvZ3JhbVNpemUgPSBudW1D
U1NQcm9wZXJ0aWVzOwotICAgIGlmIChoYXNQcmVmaXgoYnVmZmVyLCBsZW5ndGgsICItd2Via2l0
LSIpICYmIHByb3BlcnR5SUQgIT0gQ1NTUHJvcGVydHlJbnZhbGlkKSB7Ci0gICAgICAgIGludCBo
aXN0b2dyYW1WYWx1ZSA9IHByb3BlcnR5SUQgLSBmaXJzdENTU1Byb3BlcnR5OwotICAgICAgICBB
U1NFUlQoMCA8PSBoaXN0b2dyYW1WYWx1ZSAmJiBoaXN0b2dyYW1WYWx1ZSA8IGNzc1Byb3BlcnR5
SGlzdG9ncmFtU2l6ZSk7Ci0gICAgICAgIEhpc3RvZ3JhbVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1l
cmF0aW9uKCJDU1MuUHJlZml4VXNhZ2UiLCBoaXN0b2dyYW1WYWx1ZSwgY3NzUHJvcGVydHlIaXN0
b2dyYW1TaXplKTsKLSAgICB9Ci0KLSAgICByZXR1cm4gcHJvcGVydHlJRDsKKyAgICByZXR1cm4g
aGFzaFRhYmxlRW50cnkgPyBzdGF0aWNfY2FzdDxDU1NQcm9wZXJ0eUlEPihoYXNoVGFibGVFbnRy
eS0+aWQpIDogQ1NTUHJvcGVydHlJbnZhbGlkOwogfQogCiBDU1NQcm9wZXJ0eUlEIGNzc1Byb3Bl
cnR5SUQoY29uc3QgU3RyaW5nJiBzdHJpbmcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCAx
NTIwZWIzLi4zZWZmMDQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTg1LDcgKzg1LDYg
QEAKICNpbmNsdWRlICJIVE1MVGl0bGVFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRUUFBhcnNlcnMu
aCIKICNpbmNsdWRlICJIYXNoQ2hhbmdlRXZlbnQuaCIKLSNpbmNsdWRlICJIaXN0b2dyYW1TdXBw
b3J0LmgiCiAjaW5jbHVkZSAiSGlzdG9yeS5oIgogI2luY2x1ZGUgIkhpdFRlc3RSZXN1bHQuaCIK
ICNpbmNsdWRlICJJY29uQ29udHJvbGxlci5oIgpAQCAtNTQ3LDE2ICs1NDYsNiBAQCBEb2N1bWVu
dDo6RG9jdW1lbnQoRnJhbWUqIGZyYW1lLCBjb25zdCBVUkwmIHVybCwgdW5zaWduZWQgZG9jdW1l
bnRDbGFzc2VzLCB1bnNpZwogICAgICAgICBtX25vZGVMaXN0QW5kQ29sbGVjdGlvbkNvdW50c1tp
XSA9IDA7CiB9CiAKLXN0YXRpYyB2b2lkIGhpc3RvZ3JhbU11dGF0aW9uRXZlbnRVc2FnZShjb25z
dCB1bnNpZ25lZCBzaG9ydCYgbGlzdGVuZXJUeXBlcykKLXsKLSAgICBIaXN0b2dyYW1TdXBwb3J0
OjpoaXN0b2dyYW1FbnVtZXJhdGlvbigiRE9NQVBJLlBlckRvY3VtZW50TXV0YXRpb25FdmVudFVz
YWdlLkRPTVN1YnRyZWVNb2RpZmllZCIsIHN0YXRpY19jYXN0PGJvb2w+KGxpc3RlbmVyVHlwZXMg
JiBEb2N1bWVudDo6RE9NU1VCVFJFRU1PRElGSUVEX0xJU1RFTkVSKSwgMik7Ci0gICAgSGlzdG9n
cmFtU3VwcG9ydDo6aGlzdG9ncmFtRW51bWVyYXRpb24oIkRPTUFQSS5QZXJEb2N1bWVudE11dGF0
aW9uRXZlbnRVc2FnZS5ET01Ob2RlSW5zZXJ0ZWQiLCBzdGF0aWNfY2FzdDxib29sPihsaXN0ZW5l
clR5cGVzICYgRG9jdW1lbnQ6OkRPTU5PREVJTlNFUlRFRF9MSVNURU5FUiksIDIpOwotICAgIEhp
c3RvZ3JhbVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJET01BUEkuUGVyRG9jdW1lbnRN
dXRhdGlvbkV2ZW50VXNhZ2UuRE9NTm9kZVJlbW92ZWQiLCBzdGF0aWNfY2FzdDxib29sPihsaXN0
ZW5lclR5cGVzICYgRG9jdW1lbnQ6OkRPTU5PREVSRU1PVkVEX0xJU1RFTkVSKSwgMik7Ci0gICAg
SGlzdG9ncmFtU3VwcG9ydDo6aGlzdG9ncmFtRW51bWVyYXRpb24oIkRPTUFQSS5QZXJEb2N1bWVu
dE11dGF0aW9uRXZlbnRVc2FnZS5ET01Ob2RlUmVtb3ZlZEZyb21Eb2N1bWVudCIsIHN0YXRpY19j
YXN0PGJvb2w+KGxpc3RlbmVyVHlwZXMgJiBEb2N1bWVudDo6RE9NTk9ERVJFTU9WRURGUk9NRE9D
VU1FTlRfTElTVEVORVIpLCAyKTsKLSAgICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1FbnVt
ZXJhdGlvbigiRE9NQVBJLlBlckRvY3VtZW50TXV0YXRpb25FdmVudFVzYWdlLkRPTU5vZGVJbnNl
cnRlZEludG9Eb2N1bWVudCIsIHN0YXRpY19jYXN0PGJvb2w+KGxpc3RlbmVyVHlwZXMgJiBEb2N1
bWVudDo6RE9NTk9ERUlOU0VSVEVESU5UT0RPQ1VNRU5UX0xJU1RFTkVSKSwgMik7Ci0gICAgSGlz
dG9ncmFtU3VwcG9ydDo6aGlzdG9ncmFtRW51bWVyYXRpb24oIkRPTUFQSS5QZXJEb2N1bWVudE11
dGF0aW9uRXZlbnRVc2FnZS5ET01DaGFyYWN0ZXJEYXRhTW9kaWZpZWQiLCBzdGF0aWNfY2FzdDxi
b29sPihsaXN0ZW5lclR5cGVzICYgRG9jdW1lbnQ6OkRPTUNIQVJBQ1RFUkRBVEFNT0RJRklFRF9M
SVNURU5FUiksIDIpOwotfQotCiAjaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQogc3RhdGljIGJv
b2wgaXNBdHRyaWJ1dGVPbkFsbE93bmVycyhjb25zdCBXZWJDb3JlOjpRdWFsaWZpZWROYW1lJiBh
dHRyaWJ1dGUsIGNvbnN0IFdlYkNvcmU6OlF1YWxpZmllZE5hbWUmIHByZWZpeGVkQXR0cmlidXRl
LCBjb25zdCBIVE1MRnJhbWVPd25lckVsZW1lbnQqIG93bmVyKQogewpAQCAtNjAzLDggKzU5Miw2
IEBAIERvY3VtZW50Ojp+RG9jdW1lbnQoKQogCiAgICAgbV9zY3JpcHRSdW5uZXIgPSBudWxscHRy
OwogCi0gICAgaGlzdG9ncmFtTXV0YXRpb25FdmVudFVzYWdlKG1fbGlzdGVuZXJUeXBlcyk7Ci0K
ICAgICByZW1vdmVBbGxFdmVudExpc3RlbmVycygpOwogCiAgICAgLy8gQ3VycmVudGx5IHdlIGJl
bGlldmUgdGhhdCBEb2N1bWVudCBjYW4gbmV2ZXIgb3V0bGl2ZSB0aGUgcGFyc2VyLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuY3BwIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1NoYWRvd1Jvb3QuY3BwCmluZGV4IGE0YjQ5ZDcuLjViZmViNzkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
U2hhZG93Um9vdC5jcHAKQEAgLTI4LDcgKzI4LDYgQEAKICNpbmNsdWRlICJTaGFkb3dSb290Lmgi
CiAKICNpbmNsdWRlICJFbGVtZW50VHJhdmVyc2FsLmgiCi0jaW5jbHVkZSAiSGlzdG9ncmFtU3Vw
cG9ydC5oIgogI2luY2x1ZGUgIkluc2VydGlvblBvaW50LmgiCiAjaW5jbHVkZSAiUmVuZGVyRWxl
bWVudC5oIgogI2luY2x1ZGUgIlJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCIKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvQmxvYi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBp
L0Jsb2IuY3BwCmluZGV4IDM1NjRmZTIuLjM1ODhmYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2ZpbGVhcGkvQmxvYi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9CbG9iLmNw
cApAQCAtMzMsNyArMzMsNiBAQAogCiAjaW5jbHVkZSAiQmxvYlVSTC5oIgogI2luY2x1ZGUgIkZp
bGUuaCIKLSNpbmNsdWRlICJIaXN0b2dyYW1TdXBwb3J0LmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUgIlRocmVhZGFibGVCbG9iUmVnaXN0cnkuaCIKICNp
bmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9m
aWxlYXBpL1dlYktpdEJsb2JCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvV2Vi
S2l0QmxvYkJ1aWxkZXIuY3BwCmluZGV4IDY1OGI2YTQuLjQxYjkyMzQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2ZpbGVhcGkvV2ViS2l0QmxvYkJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2ZpbGVhcGkvV2ViS2l0QmxvYkJ1aWxkZXIuY3BwCkBAIC0zNSw3ICszNSw2IEBACiAj
aW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCiAjaW5jbHVk
ZSAiRmlsZS5oIgotI2luY2x1ZGUgIkhpc3RvZ3JhbVN1cHBvcnQuaCIKICNpbmNsdWRlICJMaW5l
RW5kaW5nLmgiCiAjaW5jbHVkZSAiVGV4dEVuY29kaW5nLmgiCiAjaW5jbHVkZSA8cnVudGltZS9B
cnJheUJ1ZmZlci5oPgpAQCAtODksOCArODgsNiBAQCB2b2lkIEJsb2JCdWlsZGVyOjphcHBlbmQo
Y29uc3QgU3RyaW5nJiB0ZXh0LCBjb25zdCBTdHJpbmcmIGVuZGluZ1R5cGUpCiAjaWYgRU5BQkxF
KEJMT0IpCiB2b2lkIEJsb2JCdWlsZGVyOjphcHBlbmQoQXJyYXlCdWZmZXIqIGFycmF5QnVmZmVy
KQogewotICAgIEhpc3RvZ3JhbVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJXZWJDb3Jl
LkJsb2IuY29uc3RydWN0b3IuQXJyYXlCdWZmZXJPclZpZXciLCBCbG9iQ29uc3RydWN0b3JBcnJh
eUJ1ZmZlciwgQmxvYkNvbnN0cnVjdG9yQXJyYXlCdWZmZXJPclZpZXdNYXgpOwotCiAgICAgaWYg
KCFhcnJheUJ1ZmZlcikKICAgICAgICAgcmV0dXJuOwogCkBAIC05OSw4ICs5Niw2IEBAIHZvaWQg
QmxvYkJ1aWxkZXI6OmFwcGVuZChBcnJheUJ1ZmZlciogYXJyYXlCdWZmZXIpCiAKIHZvaWQgQmxv
YkJ1aWxkZXI6OmFwcGVuZChQYXNzUmVmUHRyPEFycmF5QnVmZmVyVmlldz4gYXJyYXlCdWZmZXJW
aWV3KQogewotICAgIEhpc3RvZ3JhbVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJXZWJD
b3JlLkJsb2IuY29uc3RydWN0b3IuQXJyYXlCdWZmZXJPclZpZXciLCBCbG9iQ29uc3RydWN0b3JB
cnJheUJ1ZmZlclZpZXcsIEJsb2JDb25zdHJ1Y3RvckFycmF5QnVmZmVyT3JWaWV3TWF4KTsKLQog
ICAgIGlmICghYXJyYXlCdWZmZXJWaWV3KQogICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2hp
c3RvcnkvUGFnZUNhY2hlLmNwcAppbmRleCA5MDNiNTNlLi5lOGFhMGI2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aGlzdG9yeS9QYWdlQ2FjaGUuY3BwCkBAIC00MCw3ICs0MCw2IEBACiAjaW5jbHVkZSAiRnJhbWVM
b2FkZXJDbGllbnQuaCIKICNpbmNsdWRlICJGcmFtZUxvYWRlclN0YXRlTWFjaGluZS5oIgogI2lu
Y2x1ZGUgIkZyYW1lVmlldy5oIgotI2luY2x1ZGUgIkhpc3RvZ3JhbVN1cHBvcnQuaCIKICNpbmNs
dWRlICJIaXN0b3J5Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIkhpc3RvcnlJdGVtLmgiCiAjaW5j
bHVkZSAiTG9nZ2luZy5oIgpAQCAtMTgxLDE2ICsxODAsNiBAQCBzdGF0aWMgdW5zaWduZWQgbG9n
Q2FuQ2FjaGVGcmFtZURlY2lzaW9uKEZyYW1lKiBmcmFtZSwgaW50IGluZGVudExldmVsKQogICAg
ICAgICByZWplY3RSZWFzb25zIHw9IDEgPDwgQ2xpZW50RGVuaWVzQ2FjaGluZzsKICAgICB9CiAK
LSAgICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1FbnVtZXJhdGlvbigiUGFnZUNhY2hlLkZy
YW1lQ2FjaGVhYmxlIiwgIXJlamVjdFJlYXNvbnMsIDIpOwotICAgIGludCByZWFzb25Db3VudCA9
IDA7Ci0gICAgZm9yIChpbnQgaSA9IDA7IGkgPCBOdW1iZXJPZlJlYXNvbnNGcmFtZXNDYW5ub3RC
ZUluUGFnZUNhY2hlOyArK2kpIHsKLSAgICAgICAgaWYgKHJlamVjdFJlYXNvbnMgJiAoMSA8PCBp
KSkgewotICAgICAgICAgICAgKytyZWFzb25Db3VudDsKLSAgICAgICAgICAgIEhpc3RvZ3JhbVN1
cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJQYWdlQ2FjaGUuRnJhbWVSZWplY3RSZWFzb24i
LCBpLCBOdW1iZXJPZlJlYXNvbnNGcmFtZXNDYW5ub3RCZUluUGFnZUNhY2hlKTsKLSAgICAgICAg
fQotICAgIH0KLSAgICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1FbnVtZXJhdGlvbigiUGFn
ZUNhY2hlLkZyYW1lUmVqZWN0UmVhc29uQ291bnQiLCByZWFzb25Db3VudCwgMSArIE51bWJlck9m
UmVhc29uc0ZyYW1lc0Nhbm5vdEJlSW5QYWdlQ2FjaGUpOwotCiAgICAgZm9yIChGcmFtZSogY2hp
bGQgPSBmcmFtZS0+dHJlZSgpLmZpcnN0Q2hpbGQoKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPnRy
ZWUoKS5uZXh0U2libGluZygpKQogICAgICAgICByZWplY3RSZWFzb25zIHw9IGxvZ0NhbkNhY2hl
RnJhbWVEZWNpc2lvbihjaGlsZCwgaW5kZW50TGV2ZWwgKyAxKTsKICAgICAKQEAgLTI2NywzMSAr
MjU2LDYgQEAgc3RhdGljIHZvaWQgbG9nQ2FuQ2FjaGVQYWdlRGVjaXNpb24oUGFnZSogcGFnZSkK
ICAgICB9CiAgICAgCiAgICAgUENMT0cocmVqZWN0UmVhc29ucyA/ICIgUGFnZSBDQU5OT1QgYmUg
Y2FjaGVkXG4tLS0tLS0tLSIgOiAiIFBhZ2UgQ0FOIGJlIGNhY2hlZFxuLS0tLS0tLS0iKTsKLQot
ICAgIEhpc3RvZ3JhbVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJQYWdlQ2FjaGUuUGFn
ZUNhY2hlYWJsZSIsICFyZWplY3RSZWFzb25zLCAyKTsKLSAgICBpbnQgcmVhc29uQ291bnQgPSAw
OwotICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTnVtYmVyT2ZSZWFzb25zUGFnZXNDYW5ub3RCZUlu
UGFnZUNhY2hlOyArK2kpIHsKLSAgICAgICAgaWYgKHJlamVjdFJlYXNvbnMgJiAoMSA8PCBpKSkg
ewotICAgICAgICAgICAgKytyZWFzb25Db3VudDsKLSAgICAgICAgICAgIEhpc3RvZ3JhbVN1cHBv
cnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJQYWdlQ2FjaGUuUGFnZVJlamVjdFJlYXNvbiIsIGks
IE51bWJlck9mUmVhc29uc1BhZ2VzQ2Fubm90QmVJblBhZ2VDYWNoZSk7Ci0gICAgICAgIH0KLSAg
ICB9Ci0gICAgSGlzdG9ncmFtU3VwcG9ydDo6aGlzdG9ncmFtRW51bWVyYXRpb24oIlBhZ2VDYWNo
ZS5QYWdlUmVqZWN0UmVhc29uQ291bnQiLCByZWFzb25Db3VudCwgMSArIE51bWJlck9mUmVhc29u
c1BhZ2VzQ2Fubm90QmVJblBhZ2VDYWNoZSk7Ci0gICAgY29uc3QgYm9vbCBzZXR0aW5nc0Rpc2Fi
bGVkUGFnZUNhY2hlID0gcmVqZWN0UmVhc29ucyAmICgxIDw8IERpc2FibGVkUGFnZUNhY2hlKTsK
LSAgICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1FbnVtZXJhdGlvbigiUGFnZUNhY2hlLlBh
Z2VSZWplY3RSZWFzb25Db3VudEV4Y2x1ZGluZ1NldHRpbmdzIiwgcmVhc29uQ291bnQgLSBzZXR0
aW5nc0Rpc2FibGVkUGFnZUNhY2hlLCBOdW1iZXJPZlJlYXNvbnNQYWdlc0Nhbm5vdEJlSW5QYWdl
Q2FjaGUpOwotCi0gICAgLy8gUmVwb3J0IGFsc28gb24gdGhlIGZyYW1lIHJlYXNvbnMgYnkgcGFn
ZTsgdGhpcyBpcyBkaXN0aW5jdCBmcm9tIHRoZSBwZXIgZnJhbWUgc3RhdGlzdGljcyBzaW5jZSBp
dCBjb2FsZXNjZXMgdGhlCi0gICAgLy8gY2F1c2VzIGZyb20gYWxsIHN1YmZyYW1lcyB0b2dldGhl
ci4KLSAgICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1FbnVtZXJhdGlvbigiUGFnZUNhY2hl
LkZyYW1lQ2FjaGVhYmxlQnlQYWdlIiwgIWZyYW1lUmVqZWN0UmVhc29ucywgMik7Ci0gICAgaW50
IGZyYW1lUmVhc29uQ291bnQgPSAwOwotICAgIGZvciAoaW50IGkgPSAwOyBpIDw9IE51bWJlck9m
UmVhc29uc0ZyYW1lc0Nhbm5vdEJlSW5QYWdlQ2FjaGU7ICsraSkgewotICAgICAgICBpZiAoZnJh
bWVSZWplY3RSZWFzb25zICYgKDEgPDwgaSkpIHsKLSAgICAgICAgICAgICsrZnJhbWVSZWFzb25D
b3VudDsKLSAgICAgICAgICAgIEhpc3RvZ3JhbVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9u
KCJQYWdlQ2FjaGUuRnJhbWVSZWplY3RSZWFzb25CeVBhZ2UiLCBpLCBOdW1iZXJPZlJlYXNvbnNG
cmFtZXNDYW5ub3RCZUluUGFnZUNhY2hlKTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIEhpc3Rv
Z3JhbVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJQYWdlQ2FjaGUuRnJhbWVSZWplY3RS
ZWFzb25Db3VudEJ5UGFnZSIsIGZyYW1lUmVhc29uQ291bnQsIDEgKyBOdW1iZXJPZlJlYXNvbnNG
cmFtZXNDYW5ub3RCZUluUGFnZUNhY2hlKTsKIH0KIAogI2VuZGlmIC8vICFkZWZpbmVkKE5ERUJV
RykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2xldmVsZGIvTGV2ZWxEQkRh
dGFiYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2xldmVsZGIvTGV2ZWxEQkRhdGFi
YXNlLmNwcAppbmRleCA4ZTE1MDNlLi4wYzk5NDdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9sZXZlbGRiL0xldmVsREJEYXRhYmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbGV2ZWxkYi9MZXZlbERCRGF0YWJhc2UuY3BwCkBAIC0yOCw3ICsyOCw2IEBA
CiAKICNpZiBVU0UoTEVWRUxEQikKIAotI2luY2x1ZGUgIkhpc3RvZ3JhbVN1cHBvcnQuaCIKICNp
bmNsdWRlICJMZXZlbERCQ29tcGFyYXRvci5oIgogI2luY2x1ZGUgIkxldmVsREJJdGVyYXRvci5o
IgogI2luY2x1ZGUgIkxldmVsREJTbGljZS5oIgpAQCAtMTM2LDI2ICsxMzUsNiBAQCBib29sIExl
dmVsREJEYXRhYmFzZTo6ZGVzdHJveShjb25zdCBTdHJpbmcmIGZpbGVOYW1lKQogICAgIHJldHVy
biBzLm9rKCk7CiB9CiAKLXN0YXRpYyB2b2lkIGhpc3RvZ3JhbUxldmVsREJFcnJvcihjb25zdCBj
aGFyKiBoaXN0b2dyYW1OYW1lLCBjb25zdCBsZXZlbGRiOjpTdGF0dXMmIHMpCi17Ci0gICAgQVNT
RVJUKCFzLm9rKCkpOwotICAgIGVudW0gewotICAgICAgICBMZXZlbERCTm90Rm91bmQsCi0gICAg
ICAgIExldmVsREJDb3JydXB0aW9uLAotICAgICAgICBMZXZlbERCSU9FcnJvciwKLSAgICAgICAg
TGV2ZWxEQk90aGVyLAotICAgICAgICBMZXZlbERCTWF4RXJyb3IKLSAgICB9OwotICAgIGludCBs
ZXZlbERCRXJyb3IgPSBMZXZlbERCT3RoZXI7Ci0gICAgaWYgKHMuSXNOb3RGb3VuZCgpKQotICAg
ICAgICBsZXZlbERCRXJyb3IgPSBMZXZlbERCTm90Rm91bmQ7Ci0gICAgZWxzZSBpZiAocy5Jc0Nv
cnJ1cHRpb24oKSkKLSAgICAgICAgbGV2ZWxEQkVycm9yID0gTGV2ZWxEQkNvcnJ1cHRpb247Ci0g
ICAgZWxzZSBpZiAocy5Jc0lPRXJyb3IoKSkKLSAgICAgICAgbGV2ZWxEQkVycm9yID0gTGV2ZWxE
QklPRXJyb3I7Ci0gICAgSGlzdG9ncmFtU3VwcG9ydDo6aGlzdG9ncmFtRW51bWVyYXRpb24oaGlz
dG9ncmFtTmFtZSwgbGV2ZWxEQkVycm9yLCBMZXZlbERCTWF4RXJyb3IpOwotfQotCiBzdGQ6OnVu
aXF1ZV9wdHI8TGV2ZWxEQkRhdGFiYXNlPiBMZXZlbERCRGF0YWJhc2U6Om9wZW4oY29uc3QgU3Ry
aW5nJiBmaWxlTmFtZSwgY29uc3QgTGV2ZWxEQkNvbXBhcmF0b3IqIGNvbXBhcmF0b3IpCiB7CiAg
ICAgYXV0byBjb21wYXJhdG9yQWRhcHRlciA9IHN0ZDo6bWFrZV91bmlxdWU8Q29tcGFyYXRvckFk
YXB0ZXI+KGNvbXBhcmF0b3IpOwpAQCAtMTY0LDggKzE0Myw2IEBAIHN0ZDo6dW5pcXVlX3B0cjxM
ZXZlbERCRGF0YWJhc2U+IExldmVsREJEYXRhYmFzZTo6b3Blbihjb25zdCBTdHJpbmcmIGZpbGVO
YW1lLCBjCiAgICAgY29uc3QgbGV2ZWxkYjo6U3RhdHVzIHMgPSBvcGVuREIoY29tcGFyYXRvckFk
YXB0ZXIuZ2V0KCksIGxldmVsZGI6OklEQkVudigpLCBmaWxlTmFtZSwgJmRiKTsKIAogICAgIGlm
ICghcy5vaygpKSB7Ci0gICAgICAgIGhpc3RvZ3JhbUxldmVsREJFcnJvcigiV2ViQ29yZS5JbmRl
eGVkREIuTGV2ZWxEQk9wZW5FcnJvcnMiLCBzKTsKLQogICAgICAgICBMT0dfRVJST1IoIkZhaWxl
ZCB0byBvcGVuIExldmVsREIgZGF0YWJhc2UgZnJvbSAlczogJXMiLCBmaWxlTmFtZS5hc2NpaSgp
LmRhdGEoKSwgcy5Ub1N0cmluZygpLmNfc3RyKCkpOwogICAgICAgICByZXR1cm4gbnVsbHB0cjsK
ICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAppbmRleCA1NWJl
OTI0Li41OGU3NGMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAK
QEAgLTcwLDcgKzcwLDYgQEAKICNpbmNsdWRlICJIVE1MRnJhbWVFbGVtZW50LmgiCiAjaW5jbHVk
ZSAiSFRNTEZyYW1lT3duZXJFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCi0jaW5j
bHVkZSAiSGlzdG9ncmFtU3VwcG9ydC5oIgogI2luY2x1ZGUgIkhpdFRlc3RpbmdUcmFuc2Zvcm1T
dGF0ZS5oIgogI2luY2x1ZGUgIkhpdFRlc3RSZXF1ZXN0LmgiCiAjaW5jbHVkZSAiSGl0VGVzdFJl
c3VsdC5oIgpAQCAtMjE1NiwxMiArMjE1NSw2IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnVwZGF0ZU5l
ZWRzQ29tcG9zaXRlZFNjcm9sbGluZygpCiAgICAgICAgIC8vIGxheWVycyBpbiBXZWJDb3JlLCBi
ZWNhdXNlIHdlIHVzZSBVSUtpdCB0byBjb21wb3NpdGUgb3VyIHNjcm9sbCBiYXJzLgogICAgICAg
ICBtX25lZWRzQ29tcG9zaXRlZFNjcm9sbGluZyA9IGZvcmNlVXNlQ29tcG9zaXRlZFNjcm9sbGlu
ZzsKICNlbmRpZgotICAgICAgICAvLyBXZSBnYXRoZXIgYSBib29sZWFuIHZhbHVlIGZvciB1c2Ug
d2l0aCBHb29nbGUgVU1BIGhpc3RvZ3JhbXMgdG8KLSAgICAgICAgLy8gcXVhbnRpZnkgdGhlIGFj
dHVhbCBlZmZlY3RzIG9mIGEgc2V0IG9mIHBhdGNoZXMgYXR0ZW1wdGluZyB0bwotICAgICAgICAv
LyByZWxheCBjb21wb3NpdGVkIHNjcm9sbGluZyByZXF1aXJlbWVudHMsIHRoZXJlYnkgaW5jcmVh
c2luZyB0aGUKLSAgICAgICAgLy8gbnVtYmVyIG9mIGNvbXBvc2l0ZWQgb3ZlcmZsb3cgZGl2cy4K
LSAgICAgICAgaWYgKGFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JPdmVyZmxvd1Njcm9sbEVuYWJs
ZWQoKSkKLSAgICAgICAgICAgIEhpc3RvZ3JhbVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9u
KCJSZW5kZXJlci5OZWVkc0NvbXBvc2l0ZWRTY3JvbGxpbmciLCBtX25lZWRzQ29tcG9zaXRlZFNj
cm9sbGluZywgMik7CiAgICAgfQogCiAgICAgaWYgKG9sZE5lZWRzQ29tcG9zaXRlZFNjcm9sbGlu
ZyAhPSBtX25lZWRzQ29tcG9zaXRlZFNjcm9sbGluZykgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRw
UmVxdWVzdC5jcHAKaW5kZXggZGFiYTQ5Zi4uZmJjZDE5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1M
SHR0cFJlcXVlc3QuY3BwCkBAIC0zNSw3ICszNSw2IEBACiAjaW5jbHVkZSAiRmlsZS5oIgogI2lu
Y2x1ZGUgIkhUTUxEb2N1bWVudC5oIgogI2luY2x1ZGUgIkhUVFBQYXJzZXJzLmgiCi0jaW5jbHVk
ZSAiSGlzdG9ncmFtU3VwcG9ydC5oIgogI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlv
bi5oIgogI2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgogI2luY2x1ZGUgIkpTRE9NV2luZG93Lmgi
CkBAIC03MTAsMTUgKzcwOSwxMSBAQCB2b2lkIFhNTEh0dHBSZXF1ZXN0OjpzZW5kKEFycmF5QnVm
ZmVyKiBib2R5LCBFeGNlcHRpb25Db2RlJiBlYykKICAgICBTdHJpbmcgY29uc29sZU1lc3NhZ2Uo
IkFycmF5QnVmZmVyIGlzIGRlcHJlY2F0ZWQgaW4gWE1MSHR0cFJlcXVlc3Quc2VuZCgpLiBVc2Ug
QXJyYXlCdWZmZXJWaWV3IGluc3RlYWQuIik7CiAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgp
LT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpXYXJu
aW5nLCBjb25zb2xlTWVzc2FnZSk7CiAKLSAgICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1F
bnVtZXJhdGlvbigiV2ViQ29yZS5YSFIuc2VuZC5BcnJheUJ1ZmZlck9yVmlldyIsIFhNTEh0dHBS
ZXF1ZXN0U2VuZEFycmF5QnVmZmVyLCBYTUxIdHRwUmVxdWVzdFNlbmRBcnJheUJ1ZmZlck9yVmll
d01heCk7Ci0KICAgICBzZW5kQnl0ZXNEYXRhKGJvZHktPmRhdGEoKSwgYm9keS0+Ynl0ZUxlbmd0
aCgpLCBlYyk7CiB9CiAKIHZvaWQgWE1MSHR0cFJlcXVlc3Q6OnNlbmQoQXJyYXlCdWZmZXJWaWV3
KiBib2R5LCBFeGNlcHRpb25Db2RlJiBlYykKIHsKLSAgICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0
b2dyYW1FbnVtZXJhdGlvbigiV2ViQ29yZS5YSFIuc2VuZC5BcnJheUJ1ZmZlck9yVmlldyIsIFhN
TEh0dHBSZXF1ZXN0U2VuZEFycmF5QnVmZmVyVmlldywgWE1MSHR0cFJlcXVlc3RTZW5kQXJyYXlC
dWZmZXJPclZpZXdNYXgpOwotCiAgICAgc2VuZEJ5dGVzRGF0YShib2R5LT5iYXNlQWRkcmVzcygp
LCBib2R5LT5ieXRlTGVuZ3RoKCksIGVjKTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>230421</attachid>
            <date>2014-04-29 14:32:10 -0700</date>
            <delta_ts>2014-04-29 15:01:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-132354.diff</filename>
            <type>text/plain</type>
            <size>43197</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggMzI5ZDc4Ni4uMDk1ODRkZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKQEAgLTE5NTIsNyArMTk1Miw2IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0
Zm9ybS9GaWxlQ2hvb3Nlci5jcHAKICAgICBwbGF0Zm9ybS9GaWxlU3RyZWFtLmNwcAogICAgIHBs
YXRmb3JtL0ZpbGVTeXN0ZW0uY3BwCi0gICAgcGxhdGZvcm0vSGlzdG9ncmFtU3VwcG9ydC5jcHAK
ICAgICBwbGF0Zm9ybS9VUkwuY3BwCiAgICAgcGxhdGZvcm0vS2lsbFJpbmdOb25lLmNwcAogICAg
IHBsYXRmb3JtL0xhbmd1YWdlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGQ0ZDhiZjMuLmYzMjI0OTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKQEAgLTEsMyArMSw1MSBAQAorMjAxNC0wNC0yOSAgQW5kcmVhcyBLbGluZyAgPGFr
bGluZ0BhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIEhpc3RvZ3JhbVN1cHBvcnQuCisgICAg
ICAgIDxodHRwczovL3dlYmtpdC5vcmcvYi8xMzIzNTQ+CisKKyAgICAgICAgUHJ1bmUgc29tZSBs
ZWZ0b3ZlciBDaHJvbWl1bSBndW5rIHRoYXQgbm8gb3RoZXIgcG9ydHMgZXZlciB1c2VkLgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ01ha2VMaXN0
cy50eHQ6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2UuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SURCRGF0YWJhc2U6OmNyZWF0ZU9iamVjdFN0b3JlKToKKyAgICAgICAg
KFdlYkNvcmU6OklEQkRhdGFiYXNlOjpkZWxldGVPYmplY3RTdG9yZSk6CisgICAgICAgIChXZWJD
b3JlOjpJREJEYXRhYmFzZTo6dHJhbnNhY3Rpb24pOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhl
ZGRiL0lEQkZhY3RvcnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCRmFjdG9yeTo6b3Blbklu
dGVybmFsKToKKyAgICAgICAgKFdlYkNvcmU6OklEQkZhY3Rvcnk6OmRlbGV0ZURhdGFiYXNlKToK
KyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJIaXN0b2dyYW1zLmg6IFJlbW92ZWQuCisg
ICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvbGV2ZWxkYi9JREJCYWNraW5nU3RvcmVMZXZlbERC
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQkJhY2tpbmdTdG9yZUxldmVsREI6Om9wZW4pOgor
ICAgICAgICAoV2ViQ29yZTo6SURCQmFja2luZ1N0b3JlTGV2ZWxEQjo6b3BlbkluTWVtb3J5KToK
KyAgICAgICAgKFdlYkNvcmU6OnJlY29yZEludGVybmFsRXJyb3IpOiBEZWxldGVkLgorICAgICAg
ICAqIE1vZHVsZXMvaW5kZXhlZGRiL2xldmVsZGIvSURCQmFja2luZ1N0b3JlVHJhbnNhY3Rpb25M
ZXZlbERCLmNwcDoKKyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qOgor
ICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVyczoKKyAgICAg
ICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogY3NzL0NT
U1BhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjc3NQcm9wZXJ0eUlEKToKKyAgICAgICAg
KiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6On5Eb2N1bWVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpoaXN0b2dyYW1NdXRhdGlvbkV2ZW50VXNhZ2UpOiBEZWxl
dGVkLgorICAgICAgICAqIGRvbS9TaGFkb3dSb290LmNwcDoKKyAgICAgICAgKiBmaWxlYXBpL0Js
b2IuY3BwOgorICAgICAgICAqIGZpbGVhcGkvV2ViS2l0QmxvYkJ1aWxkZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6QmxvYkJ1aWxkZXI6OmFwcGVuZCk6CisgICAgICAgICogaGlzdG9yeS9QYWdl
Q2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bG9nQ2FuQ2FjaGVGcmFtZURlY2lzaW9uKToK
KyAgICAgICAgKFdlYkNvcmU6OmxvZ0NhbkNhY2hlUGFnZURlY2lzaW9uKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9IaXN0b2dyYW1TdXBwb3J0LmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9IaXN0b2dyYW1TdXBwb3J0Lmg6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbGV2ZWxk
Yi9MZXZlbERCRGF0YWJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGV2ZWxEQkRhdGFiYXNl
OjpvcGVuKToKKyAgICAgICAgKFdlYkNvcmU6Omhpc3RvZ3JhbUxldmVsREJFcnJvcik6IERlbGV0
ZWQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckxheWVyOjp1cGRhdGVOZWVkc0NvbXBvc2l0ZWRTY3JvbGxpbmcpOgorICAgICAg
ICAqIHhtbC9YTUxIdHRwUmVxdWVzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVx
dWVzdDo6c2VuZCk6CisKIDIwMTQtMDQtMjkgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5j
b20+CiAKICAgICAgICAgW2lPU10gUmVtb3ZlIHdvcmthcm91bmQgZm9yIDxyZGFyOi8vcHJvYmxl
bS8xNjU3ODcyNz4uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9JREJEYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJE
YXRhYmFzZS5jcHAKaW5kZXggNzhmODgwYy4uMDQ1NWQ0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlLmNwcApAQCAtMzEsNyArMzEsNiBAQAog
I2luY2x1ZGUgIkRPTVN0cmluZ0xpc3QuaCIKICNpbmNsdWRlICJFdmVudFF1ZXVlLmgiCiAjaW5j
bHVkZSAiRXhjZXB0aW9uQ29kZS5oIgotI2luY2x1ZGUgIkhpc3RvZ3JhbVN1cHBvcnQuaCIKICNp
bmNsdWRlICJJREJBbnkuaCIKICNpbmNsdWRlICJJREJEYXRhYmFzZUNhbGxiYWNrcy5oIgogI2lu
Y2x1ZGUgIklEQkRhdGFiYXNlRXJyb3IuaCIKQEAgLTE2MSw3ICsxNjAsNiBAQCBQYXNzUmVmUHRy
PElEQk9iamVjdFN0b3JlPiBJREJEYXRhYmFzZTo6Y3JlYXRlT2JqZWN0U3RvcmUoY29uc3QgU3Ry
aW5nJiBuYW1lLCBjbwogUGFzc1JlZlB0cjxJREJPYmplY3RTdG9yZT4gSURCRGF0YWJhc2U6OmNy
ZWF0ZU9iamVjdFN0b3JlKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgSURCS2V5UGF0aCYga2V5
UGF0aCwgYm9vbCBhdXRvSW5jcmVtZW50LCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBMT0co
U3RvcmFnZUFQSSwgIklEQkRhdGFiYXNlOjpjcmVhdGVPYmplY3RTdG9yZSIpOwotICAgIEhpc3Rv
Z3JhbVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJXZWJDb3JlLkluZGV4ZWREQi5Gcm9u
dEVuZEFQSUNhbGxzIiwgSURCQ3JlYXRlT2JqZWN0U3RvcmVDYWxsLCBJREJNZXRob2RzTWF4KTsK
ICAgICBpZiAoIW1fdmVyc2lvbkNoYW5nZVRyYW5zYWN0aW9uKSB7CiAgICAgICAgIGVjID0gSURC
RGF0YWJhc2VFeGNlcHRpb246OkludmFsaWRTdGF0ZUVycm9yOwogICAgICAgICByZXR1cm4gMDsK
QEAgLTIwMSw3ICsxOTksNiBAQCBQYXNzUmVmUHRyPElEQk9iamVjdFN0b3JlPiBJREJEYXRhYmFz
ZTo6Y3JlYXRlT2JqZWN0U3RvcmUoY29uc3QgU3RyaW5nJiBuYW1lLCBjbwogdm9pZCBJREJEYXRh
YmFzZTo6ZGVsZXRlT2JqZWN0U3RvcmUoY29uc3QgU3RyaW5nJiBuYW1lLCBFeGNlcHRpb25Db2Rl
JiBlYykKIHsKICAgICBMT0coU3RvcmFnZUFQSSwgIklEQkRhdGFiYXNlOjpkZWxldGVPYmplY3RT
dG9yZSIpOwotICAgIEhpc3RvZ3JhbVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJXZWJD
b3JlLkluZGV4ZWREQi5Gcm9udEVuZEFQSUNhbGxzIiwgSURCRGVsZXRlT2JqZWN0U3RvcmVDYWxs
LCBJREJNZXRob2RzTWF4KTsKICAgICBpZiAoIW1fdmVyc2lvbkNoYW5nZVRyYW5zYWN0aW9uKSB7
CiAgICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNlcHRpb246OkludmFsaWRTdGF0ZUVycm9yOwog
ICAgICAgICByZXR1cm47CkBAIC0yMjUsNyArMjIyLDYgQEAgdm9pZCBJREJEYXRhYmFzZTo6ZGVs
ZXRlT2JqZWN0U3RvcmUoY29uc3QgU3RyaW5nJiBuYW1lLCBFeGNlcHRpb25Db2RlJiBlYykKIFBh
c3NSZWZQdHI8SURCVHJhbnNhY3Rpb24+IElEQkRhdGFiYXNlOjp0cmFuc2FjdGlvbihTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgc2NvcGUsIGNv
bnN0IFN0cmluZyYgbW9kZVN0cmluZywgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAgTE9HKFN0
b3JhZ2VBUEksICJJREJEYXRhYmFzZTo6dHJhbnNhY3Rpb24iKTsKLSAgICBIaXN0b2dyYW1TdXBw
b3J0OjpoaXN0b2dyYW1FbnVtZXJhdGlvbigiV2ViQ29yZS5JbmRleGVkREIuRnJvbnRFbmRBUElD
YWxscyIsIElEQlRyYW5zYWN0aW9uQ2FsbCwgSURCTWV0aG9kc01heCk7CiAgICAgaWYgKCFzY29w
ZS5zaXplKCkpIHsKICAgICAgICAgZWMgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6SW52YWxpZEFj
Y2Vzc0Vycm9yOwogICAgICAgICByZXR1cm4gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL0lEQkZhY3RvcnkuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvSURCRmFjdG9yeS5jcHAKaW5kZXggNmI5MTk3NC4uMGI3MTY0YSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRmFjdG9yeS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRmFjdG9yeS5jcHAKQEAgLTM1
LDcgKzM1LDYgQEAKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCiAjaW5jbHVkZSAiRnJhbWUu
aCIKICNpbmNsdWRlICJHcm91cFNldHRpbmdzLmgiCi0jaW5jbHVkZSAiSGlzdG9ncmFtU3VwcG9y
dC5oIgogI2luY2x1ZGUgIklEQkJpbmRpbmdVdGlsaXRpZXMuaCIKICNpbmNsdWRlICJJREJEYXRh
YmFzZS5oIgogI2luY2x1ZGUgIklEQkRhdGFiYXNlQ2FsbGJhY2tzSW1wbC5oIgpAQCAtMTI0LDcg
KzEyMyw2IEBAIFBhc3NSZWZQdHI8SURCT3BlbkRCUmVxdWVzdD4gSURCRmFjdG9yeTo6b3BlbihT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBjCiAKIFBhc3NSZWZQdHI8SURCT3BlbkRC
UmVxdWVzdD4gSURCRmFjdG9yeTo6b3BlbkludGVybmFsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
IGNvbnRleHQsIGNvbnN0IFN0cmluZyYgbmFtZSwgdWludDY0X3QgdmVyc2lvbiwgSW5kZXhlZERC
OjpWZXJzaW9uTnVsbG5lc3MgdmVyc2lvbk51bGxuZXNzLCBFeGNlcHRpb25Db2RlJiBlYykKIHsK
LSAgICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1FbnVtZXJhdGlvbigiV2ViQ29yZS5JbmRl
eGVkREIuRnJvbnRFbmRBUElDYWxscyIsIElEQk9wZW5DYWxsLCBJREJNZXRob2RzTWF4KTsKICAg
ICBBU1NFUlQodmVyc2lvbiA+PSAxIHx8IHZlcnNpb25OdWxsbmVzcyA9PSBJbmRleGVkREI6OlZl
cnNpb25OdWxsbmVzczo6TnVsbCk7CiAgICAgaWYgKG5hbWUuaXNOdWxsKCkpIHsKICAgICAgICAg
ZWMgPSBUeXBlRXJyb3I7CkBAIC0xNDcsNyArMTQ1LDYgQEAgUGFzc1JlZlB0cjxJREJPcGVuREJS
ZXF1ZXN0PiBJREJGYWN0b3J5OjpvcGVuSW50ZXJuYWwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCog
Y28KIFBhc3NSZWZQdHI8SURCT3BlbkRCUmVxdWVzdD4gSURCRmFjdG9yeTo6ZGVsZXRlRGF0YWJh
c2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgY29uc3QgU3RyaW5nJiBuYW1lLCBF
eGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBMT0coU3RvcmFnZUFQSSwgIklEQkZhY3Rvcnk6OmRl
bGV0ZURhdGFiYXNlIik7Ci0gICAgSGlzdG9ncmFtU3VwcG9ydDo6aGlzdG9ncmFtRW51bWVyYXRp
b24oIldlYkNvcmUuSW5kZXhlZERCLkZyb250RW5kQVBJQ2FsbHMiLCBJREJEZWxldGVEYXRhYmFz
ZUNhbGwsIElEQk1ldGhvZHNNYXgpOwogICAgIGlmIChuYW1lLmlzTnVsbCgpKSB7CiAgICAgICAg
IGVjID0gVHlwZUVycm9yOwogICAgICAgICByZXR1cm4gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkhpc3RvZ3JhbXMuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL0lEQkhpc3RvZ3JhbXMuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMWZmMmEzNS4uMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9JREJIaXN0b2dyYW1zLmgKKysrIC9kZXYvbnVsbApAQCAtMSw0NSArMCwwIEBACi0v
KgotICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKgotICogMS4g
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQot
ICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCi0gKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBJbmMu
ICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCi0gKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAotICogICAgIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEdPT0dMRSBBTkQgSVRTIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKLSAqIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKLSAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCi0gKiAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7Ci0gKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKLSAqIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKLSAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBJ
REJIaXN0b2dyYW1zX2gKLSNkZWZpbmUgSURCSGlzdG9ncmFtc19oCi0KLW5hbWVzcGFjZSBXZWJD
b3JlIHsKLQotZW51bSBJbmRleGVkRGF0YWJhc2VNZXRob2RzIHsKLSAgICBJREJDcmVhdGVPYmpl
Y3RTdG9yZUNhbGwsCi0gICAgSURCRGVsZXRlT2JqZWN0U3RvcmVDYWxsLAotICAgIElEQlRyYW5z
YWN0aW9uQ2FsbCwKLSAgICBJREJEZWxldGVEYXRhYmFzZUNhbGwsCi0gICAgSURCT3BlbkNhbGws
Ci0gICAgSURCTWV0aG9kc01heCwKLX07Ci0KLX0KLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9sZXZlbGRiL0lEQkJhY2tpbmdTdG9yZUxldmVs
REIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvbGV2ZWxkYi9JREJCYWNr
aW5nU3RvcmVMZXZlbERCLmNwcAppbmRleCAzMThhZThiLi41ZTAwMTBlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9sZXZlbGRiL0lEQkJhY2tpbmdTdG9yZUxl
dmVsREIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2xldmVsZGIv
SURCQmFja2luZ1N0b3JlTGV2ZWxEQi5jcHAKQEAgLTI5LDcgKzI5LDYgQEAKICNpZiBFTkFCTEUo
SU5ERVhFRF9EQVRBQkFTRSkgJiYgVVNFKExFVkVMREIpCiAKICNpbmNsdWRlICJGaWxlU3lzdGVt
LmgiCi0jaW5jbHVkZSAiSGlzdG9ncmFtU3VwcG9ydC5oIgogI2luY2x1ZGUgIklEQkRhdGFiYXNl
TWV0YWRhdGEuaCIKICNpbmNsdWRlICJJREJJbmRleFdyaXRlckxldmVsREIuaCIKICNpbmNsdWRl
ICJJREJLZXkuaCIKQEAgLTc3LDE5ICs3NiwxMiBAQCBlbnVtIElEQkJhY2tpbmdTdG9yZUxldmVs
REJFcnJvclNvdXJjZSB7CiAgICAgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZUludGVybmFsRXJyb3JN
YXgsCiB9OwogCi1zdGF0aWMgdm9pZCByZWNvcmRJbnRlcm5hbEVycm9yKGNvbnN0IGNoYXIqIHR5
cGUsIElEQkJhY2tpbmdTdG9yZUxldmVsREJFcnJvclNvdXJjZSBsb2NhdGlvbikKLXsKLSAgICBT
dHJpbmcgbmFtZSA9IFN0cmluZzo6Zm9ybWF0KCJXZWJDb3JlLkluZGV4ZWREQi5CYWNraW5nU3Rv
cmUuJXNFcnJvciIsIHR5cGUpOwotICAgIEhpc3RvZ3JhbVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1l
cmF0aW9uKG5hbWUudXRmOCgpLmRhdGEoKSwgbG9jYXRpb24sIElEQkxldmVsREJCYWNraW5nU3Rv
cmVJbnRlcm5hbEVycm9yTWF4KTsKLX0KLQogLy8gVXNlIHRvIHNpZ25hbCBjb25kaXRpb25zIHRo
YXQgdXN1YWxseSBpbmRpY2F0ZSBkZXZlbG9wZXIgZXJyb3IsIGJ1dCBjb3VsZCBiZSBjYXVzZWQg
YnkgZGF0YSBjb3JydXB0aW9uLgogLy8gQSBtYWNybyBpcyB1c2VkIGluc3RlYWQgb2YgYW4gaW5s
aW5lIGZ1bmN0aW9uIHNvIHRoYXQgdGhlIGFzc2VydCBhbmQgbG9nIHJlcG9ydCB0aGUgbGluZSBu
dW1iZXIuCiAjZGVmaW5lIFJFUE9SVF9FUlJPUih0eXBlLCBsb2NhdGlvbikgXAogICAgIGRvIHsg
XAogICAgICAgICBMT0dfRVJST1IoIkluZGV4ZWREQiAlcyBFcnJvcjogJXMiLCB0eXBlLCAjbG9j
YXRpb24pOyBcCiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyBcCi0gICAgICAgIHJlY29y
ZEludGVybmFsRXJyb3IodHlwZSwgbG9jYXRpb24pOyBcCiAgICAgfSB3aGlsZSAoMCkKIAogI2Rl
ZmluZSBJTlRFUk5BTF9SRUFEX0VSUk9SKGxvY2F0aW9uKSBSRVBPUlRfRVJST1IoIlJlYWQiLCBs
b2NhdGlvbikKQEAgLTM1MSwyMSArMzQzLDYgQEAgSURCQmFja2luZ1N0b3JlTGV2ZWxEQjo6fklE
QkJhY2tpbmdTdG9yZUxldmVsREIoKQogICAgIG1fY29tcGFyYXRvciA9IG51bGxwdHI7CiB9CiAK
LWVudW0gSURCTGV2ZWxEQkJhY2tpbmdTdG9yZU9wZW5SZXN1bHQgewotICAgIElEQkxldmVsREJC
YWNraW5nU3RvcmVPcGVuTWVtb3J5U3VjY2VzcywKLSAgICBJREJMZXZlbERCQmFja2luZ1N0b3Jl
T3BlblN1Y2Nlc3MsCi0gICAgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZU9wZW5GYWlsZWREaXJlY3Rv
cnksCi0gICAgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZU9wZW5GYWlsZWRVbmtub3duU2NoZW1hLAot
ICAgIElEQkxldmVsREJCYWNraW5nU3RvcmVPcGVuQ2xlYW51cERlc3Ryb3lGYWlsZWQsCi0gICAg
SURCTGV2ZWxEQkJhY2tpbmdTdG9yZU9wZW5DbGVhbnVwUmVvcGVuRmFpbGVkLAotICAgIElEQkxl
dmVsREJCYWNraW5nU3RvcmVPcGVuQ2xlYW51cFJlb3BlblN1Y2Nlc3MsCi0gICAgSURCTGV2ZWxE
QkJhY2tpbmdTdG9yZU9wZW5GYWlsZWRJT0VyckNoZWNraW5nU2NoZW1hLAotICAgIElEQkxldmVs
REJCYWNraW5nU3RvcmVPcGVuRmFpbGVkVW5rbm93bkVyciwKLSAgICBJREJMZXZlbERCQmFja2lu
Z1N0b3JlT3Blbk1lbW9yeUZhaWxlZCwKLSAgICBJREJMZXZlbERCQmFja2luZ1N0b3JlT3BlbkF0
dGVtcHROb25BU0NJSSwKLSAgICBJREJMZXZlbERCQmFja2luZ1N0b3JlT3Blbk1heCwKLX07Ci0K
IFBhc3NSZWZQdHI8SURCQmFja2luZ1N0b3JlTGV2ZWxEQj4gSURCQmFja2luZ1N0b3JlTGV2ZWxE
Qjo6b3Blbihjb25zdCBTZWN1cml0eU9yaWdpbiYgc2VjdXJpdHlPcmlnaW4sIGNvbnN0IFN0cmlu
ZyYgcGF0aEJhc2VBcmcsIGNvbnN0IFN0cmluZyYgZmlsZUlkZW50aWZpZXIpCiB7CiAgICAgRGVm
YXVsdExldmVsREJGYWN0b3J5IGxldmVsREJGYWN0b3J5OwpAQCAtMzgxLDExICszNTgsOCBAQCBQ
YXNzUmVmUHRyPElEQkJhY2tpbmdTdG9yZUxldmVsREI+IElEQkJhY2tpbmdTdG9yZUxldmVsREI6
Om9wZW4oY29uc3QgU2VjdXJpdHlPcgogICAgIHN0ZDo6dW5pcXVlX3B0cjxMZXZlbERCQ29tcGFy
YXRvcj4gY29tcGFyYXRvciA9IHN0ZDo6bWFrZV91bmlxdWU8Q29tcGFyYXRvcj4oKTsKICAgICBz
dGQ6OnVuaXF1ZV9wdHI8TGV2ZWxEQkRhdGFiYXNlPiBkYjsKIAotICAgIGlmICghcGF0aEJhc2Uu
Y29udGFpbnNPbmx5QVNDSUkoKSkKLSAgICAgICAgICAgIEhpc3RvZ3JhbVN1cHBvcnQ6Omhpc3Rv
Z3JhbUVudW1lcmF0aW9uKCJXZWJDb3JlLkluZGV4ZWREQi5CYWNraW5nU3RvcmUuT3BlblN0YXR1
cyIsIElEQkxldmVsREJCYWNraW5nU3RvcmVPcGVuQXR0ZW1wdE5vbkFTQ0lJLCBJREJMZXZlbERC
QmFja2luZ1N0b3JlT3Blbk1heCk7CiAgICAgaWYgKCFtYWtlQWxsRGlyZWN0b3JpZXMocGF0aEJh
c2UpKSB7CiAgICAgICAgIExPR19FUlJPUigiVW5hYmxlIHRvIGNyZWF0ZSBJbmRleGVkREIgZGF0
YWJhc2UgcGF0aCAlcyIsIHBhdGhCYXNlLnV0ZjgoKS5kYXRhKCkpOwotICAgICAgICBIaXN0b2dy
YW1TdXBwb3J0OjpoaXN0b2dyYW1FbnVtZXJhdGlvbigiV2ViQ29yZS5JbmRleGVkREIuQmFja2lu
Z1N0b3JlLk9wZW5TdGF0dXMiLCBJREJMZXZlbERCQmFja2luZ1N0b3JlT3BlbkZhaWxlZERpcmVj
dG9yeSwgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZU9wZW5NYXgpOwogICAgICAgICByZXR1cm4gUGFz
c1JlZlB0cjxJREJCYWNraW5nU3RvcmVMZXZlbERCPigpOwogICAgIH0KIApAQCAtMzk3LDIzICsz
NzEsMTggQEAgUGFzc1JlZlB0cjxJREJCYWNraW5nU3RvcmVMZXZlbERCPiBJREJCYWNraW5nU3Rv
cmVMZXZlbERCOjpvcGVuKGNvbnN0IFNlY3VyaXR5T3IKICAgICAgICAgYm9vbCBvayA9IGlzU2No
ZW1hS25vd24oZGIuZ2V0KCksIGtub3duKTsKICAgICAgICAgaWYgKCFvaykgewogICAgICAgICAg
ICAgTE9HX0VSUk9SKCJJbmRleGVkREIgaGFkIElPIGVycm9yIGNoZWNraW5nIHNjaGVtYSwgdHJl
YXRpbmcgaXQgYXMgZmFpbHVyZSB0byBvcGVuIik7Ci0gICAgICAgICAgICBIaXN0b2dyYW1TdXBw
b3J0OjpoaXN0b2dyYW1FbnVtZXJhdGlvbigiV2ViQ29yZS5JbmRleGVkREIuQmFja2luZ1N0b3Jl
Lk9wZW5TdGF0dXMiLCBJREJMZXZlbERCQmFja2luZ1N0b3JlT3BlbkZhaWxlZElPRXJyQ2hlY2tp
bmdTY2hlbWEsIElEQkxldmVsREJCYWNraW5nU3RvcmVPcGVuTWF4KTsKICAgICAgICAgICAgIGRi
ID0gbnVsbHB0cjsKICAgICAgICAgfSBlbHNlIGlmICgha25vd24pIHsKICAgICAgICAgICAgIExP
R19FUlJPUigiSW5kZXhlZERCIGJhY2tpbmcgc3RvcmUgaGFkIHVua25vd24gc2NoZW1hLCB0cmVh
dGluZyBpdCBhcyBmYWlsdXJlIHRvIG9wZW4iKTsKLSAgICAgICAgICAgIEhpc3RvZ3JhbVN1cHBv
cnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJXZWJDb3JlLkluZGV4ZWREQi5CYWNraW5nU3RvcmUu
T3BlblN0YXR1cyIsIElEQkxldmVsREJCYWNraW5nU3RvcmVPcGVuRmFpbGVkVW5rbm93blNjaGVt
YSwgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZU9wZW5NYXgpOwogICAgICAgICAgICAgZGIgPSBudWxs
cHRyOwogICAgICAgICB9CiAgICAgfQogCi0gICAgaWYgKGRiKQotICAgICAgICBIaXN0b2dyYW1T
dXBwb3J0OjpoaXN0b2dyYW1FbnVtZXJhdGlvbigiV2ViQ29yZS5JbmRleGVkREIuQmFja2luZ1N0
b3JlLk9wZW5TdGF0dXMiLCBJREJMZXZlbERCQmFja2luZ1N0b3JlT3BlblN1Y2Nlc3MsIElEQkxl
dmVsREJCYWNraW5nU3RvcmVPcGVuTWF4KTsKLSAgICBlbHNlIHsKKyAgICBpZiAoIWRiKSB7CiAg
ICAgICAgIExPR19FUlJPUigiSW5kZXhlZERCIGJhY2tpbmcgc3RvcmUgb3BlbiBmYWlsZWQsIGF0
dGVtcHRpbmcgY2xlYW51cCIpOwogICAgICAgICBib29sIHN1Y2Nlc3MgPSBsZXZlbERCRmFjdG9y
eS0+ZGVzdHJveUxldmVsREIocGF0aCk7CiAgICAgICAgIGlmICghc3VjY2VzcykgewogICAgICAg
ICAgICAgTE9HX0VSUk9SKCJJbmRleGVkREIgYmFja2luZyBzdG9yZSBjbGVhbnVwIGZhaWxlZCIp
OwotICAgICAgICAgICAgSGlzdG9ncmFtU3VwcG9ydDo6aGlzdG9ncmFtRW51bWVyYXRpb24oIldl
YkNvcmUuSW5kZXhlZERCLkJhY2tpbmdTdG9yZS5PcGVuU3RhdHVzIiwgSURCTGV2ZWxEQkJhY2tp
bmdTdG9yZU9wZW5DbGVhbnVwRGVzdHJveUZhaWxlZCwgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZU9w
ZW5NYXgpOwogICAgICAgICAgICAgcmV0dXJuIFBhc3NSZWZQdHI8SURCQmFja2luZ1N0b3JlTGV2
ZWxEQj4oKTsKICAgICAgICAgfQogCkBAIC00MjEsMTUgKzM5MCwxMiBAQCBQYXNzUmVmUHRyPElE
QkJhY2tpbmdTdG9yZUxldmVsREI+IElEQkJhY2tpbmdTdG9yZUxldmVsREI6Om9wZW4oY29uc3Qg
U2VjdXJpdHlPcgogICAgICAgICBkYiA9IGxldmVsREJGYWN0b3J5LT5vcGVuTGV2ZWxEQihwYXRo
LCBjb21wYXJhdG9yLmdldCgpKTsKICAgICAgICAgaWYgKCFkYikgewogICAgICAgICAgICAgTE9H
X0VSUk9SKCJJbmRleGVkREIgYmFja2luZyBzdG9yZSByZW9wZW4gYWZ0ZXIgcmVjb3ZlcnkgZmFp
bGVkIik7Ci0gICAgICAgICAgICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1FbnVtZXJhdGlv
bigiV2ViQ29yZS5JbmRleGVkREIuQmFja2luZ1N0b3JlLk9wZW5TdGF0dXMiLCBJREJMZXZlbERC
QmFja2luZ1N0b3JlT3BlbkNsZWFudXBSZW9wZW5GYWlsZWQsIElEQkxldmVsREJCYWNraW5nU3Rv
cmVPcGVuTWF4KTsKICAgICAgICAgICAgIHJldHVybiBQYXNzUmVmUHRyPElEQkJhY2tpbmdTdG9y
ZUxldmVsREI+KCk7CiAgICAgICAgIH0KLSAgICAgICAgSGlzdG9ncmFtU3VwcG9ydDo6aGlzdG9n
cmFtRW51bWVyYXRpb24oIldlYkNvcmUuSW5kZXhlZERCLkJhY2tpbmdTdG9yZS5PcGVuU3RhdHVz
IiwgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZU9wZW5DbGVhbnVwUmVvcGVuU3VjY2VzcywgSURCTGV2
ZWxEQkJhY2tpbmdTdG9yZU9wZW5NYXgpOwogICAgIH0KIAogICAgIGlmICghZGIpIHsKICAgICAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIEhpc3RvZ3JhbVN1cHBvcnQ6Omhpc3Rv
Z3JhbUVudW1lcmF0aW9uKCJXZWJDb3JlLkluZGV4ZWREQi5CYWNraW5nU3RvcmUuT3BlblN0YXR1
cyIsIElEQkxldmVsREJCYWNraW5nU3RvcmVPcGVuRmFpbGVkVW5rbm93bkVyciwgSURCTGV2ZWxE
QkJhY2tpbmdTdG9yZU9wZW5NYXgpOwogICAgICAgICByZXR1cm4gUGFzc1JlZlB0cjxJREJCYWNr
aW5nU3RvcmVMZXZlbERCPigpOwogICAgIH0KIApAQCAtNDUwLDEwICs0MTYsOCBAQCBQYXNzUmVm
UHRyPElEQkJhY2tpbmdTdG9yZUxldmVsREI+IElEQkJhY2tpbmdTdG9yZUxldmVsREI6Om9wZW5J
bk1lbW9yeShjb25zdCBTdAogICAgIHN0ZDo6dW5pcXVlX3B0cjxMZXZlbERCRGF0YWJhc2U+IGRi
ID0gTGV2ZWxEQkRhdGFiYXNlOjpvcGVuSW5NZW1vcnkoY29tcGFyYXRvci5nZXQoKSk7CiAgICAg
aWYgKCFkYikgewogICAgICAgICBMT0dfRVJST1IoIkxldmVsREJEYXRhYmFzZTo6b3BlbkluTWVt
b3J5IGZhaWxlZC4iKTsKLSAgICAgICAgSGlzdG9ncmFtU3VwcG9ydDo6aGlzdG9ncmFtRW51bWVy
YXRpb24oIldlYkNvcmUuSW5kZXhlZERCLkJhY2tpbmdTdG9yZS5PcGVuU3RhdHVzIiwgSURCTGV2
ZWxEQkJhY2tpbmdTdG9yZU9wZW5NZW1vcnlGYWlsZWQsIElEQkxldmVsREJCYWNraW5nU3RvcmVP
cGVuTWF4KTsKICAgICAgICAgcmV0dXJuIFBhc3NSZWZQdHI8SURCQmFja2luZ1N0b3JlTGV2ZWxE
Qj4oKTsKICAgICB9Ci0gICAgSGlzdG9ncmFtU3VwcG9ydDo6aGlzdG9ncmFtRW51bWVyYXRpb24o
IldlYkNvcmUuSW5kZXhlZERCLkJhY2tpbmdTdG9yZS5PcGVuU3RhdHVzIiwgSURCTGV2ZWxEQkJh
Y2tpbmdTdG9yZU9wZW5NZW1vcnlTdWNjZXNzLCBJREJMZXZlbERCQmFja2luZ1N0b3JlT3Blbk1h
eCk7CiAKICAgICByZXR1cm4gY3JlYXRlKGlkZW50aWZpZXIsIHN0ZDo6bW92ZShkYiksIHN0ZDo6
bW92ZShjb21wYXJhdG9yKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9sZXZlbGRiL0lEQkJhY2tpbmdTdG9yZVRyYW5zYWN0aW9uTGV2ZWxEQi5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9sZXZlbGRiL0lEQkJhY2tpbmdTdG9y
ZVRyYW5zYWN0aW9uTGV2ZWxEQi5jcHAKaW5kZXggYTdhNWY2Ni4uYmVkYmI0YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvbGV2ZWxkYi9JREJCYWNraW5nU3Rv
cmVUcmFuc2FjdGlvbkxldmVsREIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL2xldmVsZGIvSURCQmFja2luZ1N0b3JlVHJhbnNhY3Rpb25MZXZlbERCLmNwcApAQCAt
MjgsNyArMjgsNiBAQAogCiAjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpICYmIFVTRShMRVZF
TERCKQogCi0jaW5jbHVkZSAiSGlzdG9ncmFtU3VwcG9ydC5oIgogI2luY2x1ZGUgIklEQkJhY2tp
bmdTdG9yZUxldmVsREIuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSA8d3RmL3Rl
eHQvQ1N0cmluZy5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9q
L1dlYkNvcmUudmN4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3Jl
LnZjeHByb2oKaW5kZXggZjEwMjkzMy4uZGMyMjQwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCkBAIC03NDQyLDcgKzc0NDIsNiBAQAogICAg
ICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0
Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAg
ICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBs
YXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxk
PgogICAgIDwvQ2xDb21waWxlPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1c
SGlzdG9ncmFtU3VwcG9ydC5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0
Zm9ybVxncmFwaGljc1x3aW5cTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uLmNwcCI+
CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwk
KFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAg
ICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0
Zm9ybSknPT0nRGVidWd8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CkBAIC0xOTIyNiw3
ICsxOTIyNSw2IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGlj
c1xWaWRlb1RyYWNrUHJpdmF0ZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxh
dGZvcm1cZ3JhcGhpY3Ncd2luXE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlvbi5oIiAv
PgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3Ncd2luXFNoYXJl
ZEdESU9iamVjdC5oIiAvPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cSGlz
dG9ncmFtU3VwcG9ydC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1c
SG9zdFdpbmRvdy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cS2V5
cHJlc3NDb21tYW5kLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxL
aWxsUmluZy5oIiAvPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9q
L1dlYkNvcmUudmN4cHJvai5maWx0ZXJzIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9q
L1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCmluZGV4IGQyZmFiYWUuLmY3Zjc4YmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVy
cworKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZp
bHRlcnMKQEAgLTEwODksOSArMTA4OSw2IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxw
bGF0Zm9ybVxGaWxlU3lzdGVtLmNwcCI+CiAgICAgICA8RmlsdGVyPnBsYXRmb3JtPC9GaWx0ZXI+
CiAgICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxI
aXN0b2dyYW1TdXBwb3J0LmNwcCI+Ci0gICAgICA8RmlsdGVyPnBsYXRmb3JtPC9GaWx0ZXI+Ci0g
ICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxLaWxs
UmluZ05vbmUuY3BwIj4KICAgICAgIDxGaWx0ZXI+cGxhdGZvcm08L0ZpbHRlcj4KICAgICA8L0Ns
Q29tcGlsZT4KQEAgLTgwMzgsOSArODAzNSw2IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxwbGF0Zm9ybVxGbG9hdENvbnZlcnNpb24uaCI+CiAgICAgICA8RmlsdGVyPnBsYXRmb3JtPC9G
aWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0
Zm9ybVxIaXN0b2dyYW1TdXBwb3J0LmgiPgotICAgICAgPEZpbHRlcj5wbGF0Zm9ybTwvRmlsdGVy
PgotICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1c
SG9zdFdpbmRvdy5oIj4KICAgICAgIDxGaWx0ZXI+cGxhdGZvcm08L0ZpbHRlcj4KICAgICA8L0Ns
SW5jbHVkZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagppbmRleCAwNDk3MTMxLi4yNjU4N2VjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xOTMwLDcgKzE5MzAsNiBAQAog
CQk1MUQ3MTlEMzE4MTEwNkUwMDAxNkRDNTEgLyogSURCRmFjdG9yeS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFENzE5ODkxODExMDZERjAwMTZEQzUx
IC8qIElEQkZhY3RvcnkuaCAqLzsgfTsKIAkJNTFENzE5RDUxODExMDZFMDAwMTZEQzUxIC8qIElE
QkZhY3RvcnlCYWNrZW5kSW50ZXJmYWNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDUxRDcxOThCMTgxMTA2REYwMDE2REM1MSAvKiBJREJGYWN0b3J5
QmFja2VuZEludGVyZmFjZS5jcHAgKi87IH07CiAJCTUxRDcxOUQ2MTgxMTA2RTAwMDE2REM1MSAv
KiBJREJGYWN0b3J5QmFja2VuZEludGVyZmFjZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNTFENzE5OEMxODExMDZFMDAwMTZEQzUxIC8qIElEQkZhY3Rv
cnlCYWNrZW5kSW50ZXJmYWNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKLQkJNTFENzE5RDcxODExMDZFMDAwMTZEQzUxIC8qIElEQkhpc3RvZ3JhbXMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRDcxOThE
MTgxMTA2RTAwMDE2REM1MSAvKiBJREJIaXN0b2dyYW1zLmggKi87IH07CiAJCTUxRDcxOUQ4MTgx
MTA2RTAwMDE2REM1MSAvKiBJREJJbmRleC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1MUQ3MTk4RTE4MTEwNkUwMDAxNkRDNTEgLyogSURCSW5kZXgu
Y3BwICovOyB9OwogCQk1MUQ3MTlEOTE4MTEwNkUwMDAxNkRDNTEgLyogSURCSW5kZXguaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRDcxOThGMTgxMTA2
RTAwMDE2REM1MSAvKiBJREJJbmRleC5oICovOyB9OwogCQk1MUQ3MTlEQjE4MTEwNkUwMDAxNkRD
NTEgLyogSURCS2V5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDUxRDcxOTkxMTgxMTA2RTAwMDE2REM1MSAvKiBJREJLZXkuY3BwICovOyB9OwpAQCAt
NTc1NCw3ICs1NzUzLDYgQEAKIAkJRDZFNTI4QTMxNDlBOTI2RDAwRUZFMUYzIC8qIE11dGF0aW9u
T2JzZXJ2ZXJJbnRlcmVzdEdyb3VwLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEQ2RTUyOEExMTQ5QTkyNkQwMEVGRTFGMyAvKiBNdXRhdGlvbk9ic2Vy
dmVySW50ZXJlc3RHcm91cC5jcHAgKi87IH07CiAJCUQ2RTUyOEE0MTQ5QTkyNkQwMEVGRTFGMyAv
KiBNdXRhdGlvbk9ic2VydmVySW50ZXJlc3RHcm91cC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRDZFNTI4QTIxNDlBOTI2RDAwRUZFMUYzIC8qIE11dGF0
aW9uT2JzZXJ2ZXJJbnRlcmVzdEdyb3VwLmggKi87IH07CiAJCUQ2Rjc5NjBEMTY2RkZFQ0UwMDc2
REQxOCAvKiBKU0hUTUxUZW1wbGF0ZUVsZW1lbnRDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRDZGNzk2MEMxNjZGRkVDRTAwNzZERDE4IC8q
IEpTSFRNTFRlbXBsYXRlRWxlbWVudEN1c3RvbS5jcHAgKi87IH07Ci0JCUQ2RkRBRUYzMTQ5QzA2
MTkwMDM3QjFFMSAvKiBIaXN0b2dyYW1TdXBwb3J0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQ2RkRBRUYyMTQ5QzA2MTkwMDM3QjFFMSAvKiBIaXN0
b2dyYW1TdXBwb3J0LmNwcCAqLzsgfTsKIAkJRDcwQUQ2NTcxM0UxMzQyQjAwNUI1MEI0IC8qIFJl
bmRlclJlZ2lvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBENzBBRDY1NTEzRTEzNDJCMDA1QjUwQjQgLyogUmVuZGVyUmVnaW9uLmNwcCAqLzsgfTsK
IAkJRDcwQUQ2NTgxM0UxMzQyQjAwNUI1MEI0IC8qIFJlbmRlclJlZ2lvbi5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRDcwQUQ2NTYxM0UxMzQyQjAwNUI1
MEI0IC8qIFJlbmRlclJlZ2lvbi5oICovOyB9OwogCQlENzJGNkQ3OTE1MzE1OUEzMDAxRUU0NEUg
LyogRmxvd1RocmVhZENvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRDcyRjZENzcxNTMxNTlBMzAwMUVFNDRFIC8qIEZsb3dUaHJlYWRD
b250cm9sbGVyLmNwcCAqLzsgfTsKQEAgLTg5MzUsNyArODkzMyw2IEBACiAJCTUxRDcxOThBMTgx
MTA2REYwMDE2REM1MSAvKiBJREJGYWN0b3J5LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBJ
REJGYWN0b3J5LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTFENzE5OEIxODEx
MDZERjAwMTZEQzUxIC8qIElEQkZhY3RvcnlCYWNrZW5kSW50ZXJmYWNlLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IElEQkZhY3RvcnlCYWNrZW5kSW50ZXJmYWNlLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTFENzE5OEMxODExMDZFMDAwMTZEQzUx
IC8qIElEQkZhY3RvcnlCYWNrZW5kSW50ZXJmYWNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IElEQkZhY3RvcnlCYWNrZW5kSW50ZXJmYWNlLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07Ci0JCTUxRDcxOThEMTgxMTA2RTAwMDE2REM1MSAvKiBJREJIaXN0b2dyYW1zLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElEQkhpc3RvZ3JhbXMuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTFENzE5OEUxODExMDZFMDAwMTZEQzUxIC8qIElEQklu
ZGV4LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IElEQkluZGV4LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTFENzE5OEYxODExMDZFMDAwMTZEQzUx
IC8qIElEQkluZGV4LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElEQkluZGV4
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxRDcxOTkwMTgxMTA2RTAwMDE2REM1
MSAvKiBJREJJbmRleC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gSURCSW5kZXguaWRsOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTMxMzIsNyArMTMxMjksNiBAQAogCQlEM0Q0
RTk3MTEzMEM3Q0ZFMDA3QkE1NDAgLyogSFRNTFN1bW1hcnlFbGVtZW50LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhUTUxTdW1tYXJ5RWxlbWVudC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlENjE5QTMwNTE0NEUwMEJFMDA0QkMzMDIgLyogQ2hpbGRMaXN0TXV0
YXRpb25TY29wZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDaGls
ZExpc3RNdXRhdGlvblNjb3BlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDYx
OUEzMDYxNDRFMDBCRTAwNEJDMzAyIC8qIENoaWxkTGlzdE11dGF0aW9uU2NvcGUuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2hpbGRMaXN0TXV0YXRpb25TY29wZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlENjMwRTJBQjE0OUJGMzQ0MDA1QjJGOTMgLyogSGlz
dG9ncmFtU3VwcG9ydC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIaXN0b2dy
YW1TdXBwb3J0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQ2NDg5RDIzMTY2RkZD
RjEwMDdDMDMxQiAvKiBKU0hUTUxUZW1wbGF0ZUVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSlNIVE1MVGVtcGxhdGVFbGVtZW50LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDY0ODlEMjQxNjZGRkNGMTAwN0MwMzFCIC8qIEpTSFRNTFRl
bXBsYXRlRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0hUTUxU
ZW1wbGF0ZUVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDY2QjJENUIx
ODY4MzAwNTAwNzNDNEREIC8qIFBsYXRmb3JtQ0FGaWx0ZXJzTWFjLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgbmFtZSA9IFBsYXRmb3JtQ0FGaWx0ZXJzTWFjLmg7IHBhdGggPSBjYS9tYWMv
UGxhdGZvcm1DQUZpbHRlcnNNYWMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEz
MTQ0LDcgKzEzMTQwLDYgQEAKIAkJRDZFRkMwQkMxNjY2REY3QTAwM0QyOTFFIC8qIEhUTUxUZW1w
bGF0ZUVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSFRNTFRlbXBs
YXRlRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlENkVGQzBCRDE2NjZE
RjdBMDAzRDI5MUUgLyogSFRNTFRlbXBsYXRlRWxlbWVudC5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBw
YXRoID0gSFRNTFRlbXBsYXRlRWxlbWVudC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUQ2Rjc5NjBDMTY2RkZFQ0UwMDc2REQxOCAvKiBKU0hUTUxUZW1wbGF0ZUVsZW1lbnRDdXN0
b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNIVE1MVGVtcGxh
dGVFbGVtZW50Q3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRDZGREFF
RjIxNDlDMDYxOTAwMzdCMUUxIC8qIEhpc3RvZ3JhbVN1cHBvcnQuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSGlzdG9ncmFtU3VwcG9ydC5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUQ3MEFENjU1MTNFMTM0MkIwMDVCNTBCNCAvKiBSZW5kZXJSZWdp
b24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVuZGVyUmVnaW9u
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDcwQUQ2NTYxM0UxMzQyQjAwNUI1
MEI0IC8qIFJlbmRlclJlZ2lvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBS
ZW5kZXJSZWdpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDcyRjZENzcxNTMx
NTlBMzAwMUVFNDRFIC8qIEZsb3dUaHJlYWRDb250cm9sbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZsb3dUaHJlYWRDb250cm9sbGVyLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE3ODA0LDcgKzE3Nzk5LDYgQEAKIAkJCQk1MUQ3MTk4QjE4
MTEwNkRGMDAxNkRDNTEgLyogSURCRmFjdG9yeUJhY2tlbmRJbnRlcmZhY2UuY3BwICovLAogCQkJ
CTUxRDcxOThDMTgxMTA2RTAwMDE2REM1MSAvKiBJREJGYWN0b3J5QmFja2VuZEludGVyZmFjZS5o
ICovLAogCQkJCTUxMjNBRjFDMTg5MThBRTQwMDMxQ0RDOSAvKiBJREJHZXRSZXN1bHQuaCAqLywK
LQkJCQk1MUQ3MTk4RDE4MTEwNkUwMDAxNkRDNTEgLyogSURCSGlzdG9ncmFtcy5oICovLAogCQkJ
CTUxRDcxOThFMTgxMTA2RTAwMDE2REM1MSAvKiBJREJJbmRleC5jcHAgKi8sCiAJCQkJNTFENzE5
OEYxODExMDZFMDAwMTZEQzUxIC8qIElEQkluZGV4LmggKi8sCiAJCQkJNTFENzE5OTAxODExMDZF
MDAwMTZEQzUxIC8qIElEQkluZGV4LmlkbCAqLywKQEAgLTIxMDI4LDggKzIxMDIyLDYgQEAKIAkJ
CQk1MTRCM0Y3MjBDNzIyMDQ3MDAwNTMwREYgLyogRmlsZVN5c3RlbS5oICovLAogCQkJCUJDMDcz
QkE5MEMzOTlCMUYwMDBGNTk3OSAvKiBGbG9hdENvbnZlcnNpb24uaCAqLywKIAkJCQlBODc0OEJE
RjEyQ0JGMkRDMDAxRkJBNDEgLyogSGFzaFRvb2xzLmggKi8sCi0JCQkJRDZGREFFRjIxNDlDMDYx
OTAwMzdCMUUxIC8qIEhpc3RvZ3JhbVN1cHBvcnQuY3BwICovLAotCQkJCUQ2MzBFMkFCMTQ5QkYz
NDQwMDVCMkY5MyAvKiBIaXN0b2dyYW1TdXBwb3J0LmggKi8sCiAJCQkJQkMzQkMyOUIwRTkxQUIw
RjAwODM1NTg4IC8qIEhvc3RXaW5kb3cuaCAqLywKIAkJCQk4NjJGMTI5RjE4QzFEQ0U0MDA1QzU0
QUYgLyogSHlzdGVyZXNpc0FjdGl2aXR5LmggKi8sCiAJCQkJRTE1RkY3RDQxOEM5NTUzODAwRkU0
Qzg3IC8qIEtleXByZXNzQ29tbWFuZC5oICovLApAQCAtMjQxODcsNyArMjQxNzksNiBAQAogCQkJ
CTUxRDcxOUQ2MTgxMTA2RTAwMDE2REM1MSAvKiBJREJGYWN0b3J5QmFja2VuZEludGVyZmFjZS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNTE2NjBBQjkxODI4QkI4MjAwMDc0Q0FEIC8qIElEQkZhY3Rv
cnlCYWNrZW5kTGV2ZWxEQi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEyM0FGMUQxODkxOEFFNDAw
MzFDREM5IC8qIElEQkdldFJlc3VsdC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNTFENzE5RDcxODEx
MDZFMDAwMTZEQzUxIC8qIElEQkhpc3RvZ3JhbXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxRDcx
OUQ5MTgxMTA2RTAwMDE2REM1MSAvKiBJREJJbmRleC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTFB
QkI1QjgxODZEMEVEMTAwODM5MUExIC8qIElEQkluZGV4TWV0YWRhdGEuaCBpbiBIZWFkZXJzICov
LAogCQkJCTUxMDE5NDQxMTgzNkQyMDgwMDkyNTUyMyAvKiBJREJJbmRleFdyaXRlckxldmVsREIu
aCBpbiBIZWFkZXJzICovLApAQCAtMjc0NTIsNyArMjc0NDMsNiBAQAogCQkJCUIyQTAxNUFBMEFG
NkNENTMwMDZCQ0UwRSAvKiBHcmFwaGljc1R5cGVzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUM1
MEI1NjE2MTIxMTlEMjMwMDhCNDZFMCAvKiBHcm91cFNldHRpbmdzLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUY1NUIzREJGMTI1MUYxMkQwMDNFRjI2OSAvKiBIaWRkZW5JbnB1dFR5cGUuY3BwIGlu
IFNvdXJjZXMgKi8sCi0JCQkJRDZGREFFRjMxNDlDMDYxOTAwMzdCMUUxIC8qIEhpc3RvZ3JhbVN1
cHBvcnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM5NEQxNTMwQzI3NUM4QjAwNkJDNjE3IC8q
IEhpc3RvcnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTdEQ0UyMDExMDgwN0M3NTAwNTdEMzk0
IC8qIEhpc3RvcnlDb250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxNzQxRDEyMEIw
NzI1OUEwMEVENDQyQyAvKiBIaXN0b3J5SXRlbS5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1BhcnNlci5jcHAKaW5kZXggOTZjYWFlNi4uNzc2MzJiZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Bh
cnNlci5jcHAKQEAgLTYyLDcgKzYyLDYgQEAKICNpbmNsdWRlICJGbG9hdENvbnZlcnNpb24uaCIK
ICNpbmNsdWRlICJIVE1MUGFyc2VySWRpb21zLmgiCiAjaW5jbHVkZSAiSGFzaFRvb2xzLmgiCi0j
aW5jbHVkZSAiSGlzdG9ncmFtU3VwcG9ydC5oIgogI2luY2x1ZGUgIk1lZGlhTGlzdC5oIgogI2lu
Y2x1ZGUgIk1lZGlhUXVlcnlFeHAuaCIKICNpbmNsdWRlICJQYWdlLmgiCkBAIC0xMTkzOCwxNiAr
MTE5MzcsNyBAQCBzdGF0aWMgQ1NTUHJvcGVydHlJRCBjc3NQcm9wZXJ0eUlEKGNvbnN0IENoYXJh
Y3RlclR5cGUqIHByb3BlcnR5TmFtZSwgdW5zaWduZWQgbAogICAgIH0KIAogICAgIGNvbnN0IFBy
b3BlcnR5KiBoYXNoVGFibGVFbnRyeSA9IGZpbmRQcm9wZXJ0eShuYW1lLCBsZW5ndGgpOwotICAg
IGNvbnN0IENTU1Byb3BlcnR5SUQgcHJvcGVydHlJRCA9IGhhc2hUYWJsZUVudHJ5ID8gc3RhdGlj
X2Nhc3Q8Q1NTUHJvcGVydHlJRD4oaGFzaFRhYmxlRW50cnktPmlkKSA6IENTU1Byb3BlcnR5SW52
YWxpZDsKLQotICAgIHN0YXRpYyBjb25zdCBpbnQgY3NzUHJvcGVydHlIaXN0b2dyYW1TaXplID0g
bnVtQ1NTUHJvcGVydGllczsKLSAgICBpZiAoaGFzUHJlZml4KGJ1ZmZlciwgbGVuZ3RoLCAiLXdl
YmtpdC0iKSAmJiBwcm9wZXJ0eUlEICE9IENTU1Byb3BlcnR5SW52YWxpZCkgewotICAgICAgICBp
bnQgaGlzdG9ncmFtVmFsdWUgPSBwcm9wZXJ0eUlEIC0gZmlyc3RDU1NQcm9wZXJ0eTsKLSAgICAg
ICAgQVNTRVJUKDAgPD0gaGlzdG9ncmFtVmFsdWUgJiYgaGlzdG9ncmFtVmFsdWUgPCBjc3NQcm9w
ZXJ0eUhpc3RvZ3JhbVNpemUpOwotICAgICAgICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1F
bnVtZXJhdGlvbigiQ1NTLlByZWZpeFVzYWdlIiwgaGlzdG9ncmFtVmFsdWUsIGNzc1Byb3BlcnR5
SGlzdG9ncmFtU2l6ZSk7Ci0gICAgfQotCi0gICAgcmV0dXJuIHByb3BlcnR5SUQ7CisgICAgcmV0
dXJuIGhhc2hUYWJsZUVudHJ5ID8gc3RhdGljX2Nhc3Q8Q1NTUHJvcGVydHlJRD4oaGFzaFRhYmxl
RW50cnktPmlkKSA6IENTU1Byb3BlcnR5SW52YWxpZDsKIH0KIAogQ1NTUHJvcGVydHlJRCBjc3NQ
cm9wZXJ0eUlEKGNvbnN0IFN0cmluZyYgc3RyaW5nKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5k
ZXggMTUyMGViMy4uM2VmZjA0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC04NSw3ICs4
NSw2IEBACiAjaW5jbHVkZSAiSFRNTFRpdGxlRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUVFBQYXJz
ZXJzLmgiCiAjaW5jbHVkZSAiSGFzaENoYW5nZUV2ZW50LmgiCi0jaW5jbHVkZSAiSGlzdG9ncmFt
U3VwcG9ydC5oIgogI2luY2x1ZGUgIkhpc3RvcnkuaCIKICNpbmNsdWRlICJIaXRUZXN0UmVzdWx0
LmgiCiAjaW5jbHVkZSAiSWNvbkNvbnRyb2xsZXIuaCIKQEAgLTU0NywxNiArNTQ2LDYgQEAgRG9j
dW1lbnQ6OkRvY3VtZW50KEZyYW1lKiBmcmFtZSwgY29uc3QgVVJMJiB1cmwsIHVuc2lnbmVkIGRv
Y3VtZW50Q2xhc3NlcywgdW5zaWcKICAgICAgICAgbV9ub2RlTGlzdEFuZENvbGxlY3Rpb25Db3Vu
dHNbaV0gPSAwOwogfQogCi1zdGF0aWMgdm9pZCBoaXN0b2dyYW1NdXRhdGlvbkV2ZW50VXNhZ2Uo
Y29uc3QgdW5zaWduZWQgc2hvcnQmIGxpc3RlbmVyVHlwZXMpCi17Ci0gICAgSGlzdG9ncmFtU3Vw
cG9ydDo6aGlzdG9ncmFtRW51bWVyYXRpb24oIkRPTUFQSS5QZXJEb2N1bWVudE11dGF0aW9uRXZl
bnRVc2FnZS5ET01TdWJ0cmVlTW9kaWZpZWQiLCBzdGF0aWNfY2FzdDxib29sPihsaXN0ZW5lclR5
cGVzICYgRG9jdW1lbnQ6OkRPTVNVQlRSRUVNT0RJRklFRF9MSVNURU5FUiksIDIpOwotICAgIEhp
c3RvZ3JhbVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJET01BUEkuUGVyRG9jdW1lbnRN
dXRhdGlvbkV2ZW50VXNhZ2UuRE9NTm9kZUluc2VydGVkIiwgc3RhdGljX2Nhc3Q8Ym9vbD4obGlz
dGVuZXJUeXBlcyAmIERvY3VtZW50OjpET01OT0RFSU5TRVJURURfTElTVEVORVIpLCAyKTsKLSAg
ICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1FbnVtZXJhdGlvbigiRE9NQVBJLlBlckRvY3Vt
ZW50TXV0YXRpb25FdmVudFVzYWdlLkRPTU5vZGVSZW1vdmVkIiwgc3RhdGljX2Nhc3Q8Ym9vbD4o
bGlzdGVuZXJUeXBlcyAmIERvY3VtZW50OjpET01OT0RFUkVNT1ZFRF9MSVNURU5FUiksIDIpOwot
ICAgIEhpc3RvZ3JhbVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJET01BUEkuUGVyRG9j
dW1lbnRNdXRhdGlvbkV2ZW50VXNhZ2UuRE9NTm9kZVJlbW92ZWRGcm9tRG9jdW1lbnQiLCBzdGF0
aWNfY2FzdDxib29sPihsaXN0ZW5lclR5cGVzICYgRG9jdW1lbnQ6OkRPTU5PREVSRU1PVkVERlJP
TURPQ1VNRU5UX0xJU1RFTkVSKSwgMik7Ci0gICAgSGlzdG9ncmFtU3VwcG9ydDo6aGlzdG9ncmFt
RW51bWVyYXRpb24oIkRPTUFQSS5QZXJEb2N1bWVudE11dGF0aW9uRXZlbnRVc2FnZS5ET01Ob2Rl
SW5zZXJ0ZWRJbnRvRG9jdW1lbnQiLCBzdGF0aWNfY2FzdDxib29sPihsaXN0ZW5lclR5cGVzICYg
RG9jdW1lbnQ6OkRPTU5PREVJTlNFUlRFRElOVE9ET0NVTUVOVF9MSVNURU5FUiksIDIpOwotICAg
IEhpc3RvZ3JhbVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJET01BUEkuUGVyRG9jdW1l
bnRNdXRhdGlvbkV2ZW50VXNhZ2UuRE9NQ2hhcmFjdGVyRGF0YU1vZGlmaWVkIiwgc3RhdGljX2Nh
c3Q8Ym9vbD4obGlzdGVuZXJUeXBlcyAmIERvY3VtZW50OjpET01DSEFSQUNURVJEQVRBTU9ESUZJ
RURfTElTVEVORVIpLCAyKTsKLX0KLQogI2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKIHN0YXRp
YyBib29sIGlzQXR0cmlidXRlT25BbGxPd25lcnMoY29uc3QgV2ViQ29yZTo6UXVhbGlmaWVkTmFt
ZSYgYXR0cmlidXRlLCBjb25zdCBXZWJDb3JlOjpRdWFsaWZpZWROYW1lJiBwcmVmaXhlZEF0dHJp
YnV0ZSwgY29uc3QgSFRNTEZyYW1lT3duZXJFbGVtZW50KiBvd25lcikKIHsKQEAgLTYwMyw4ICs1
OTIsNiBAQCBEb2N1bWVudDo6fkRvY3VtZW50KCkKIAogICAgIG1fc2NyaXB0UnVubmVyID0gbnVs
bHB0cjsKIAotICAgIGhpc3RvZ3JhbU11dGF0aW9uRXZlbnRVc2FnZShtX2xpc3RlbmVyVHlwZXMp
OwotCiAgICAgcmVtb3ZlQWxsRXZlbnRMaXN0ZW5lcnMoKTsKIAogICAgIC8vIEN1cnJlbnRseSB3
ZSBiZWxpZXZlIHRoYXQgRG9jdW1lbnQgY2FuIG5ldmVyIG91dGxpdmUgdGhlIHBhcnNlci4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9TaGFkb3dSb290LmNwcAppbmRleCBhNGI0OWQ3Li41YmZlYjc5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1NoYWRvd1Jvb3QuY3BwCkBAIC0yOCw3ICsyOCw2IEBACiAjaW5jbHVkZSAiU2hhZG93Um9v
dC5oIgogCiAjaW5jbHVkZSAiRWxlbWVudFRyYXZlcnNhbC5oIgotI2luY2x1ZGUgIkhpc3RvZ3Jh
bVN1cHBvcnQuaCIKICNpbmNsdWRlICJJbnNlcnRpb25Qb2ludC5oIgogI2luY2x1ZGUgIlJlbmRl
ckVsZW1lbnQuaCIKICNpbmNsdWRlICJSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgiCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0Jsb2IuY3BwIGIvU291cmNlL1dlYkNvcmUvZmls
ZWFwaS9CbG9iLmNwcAppbmRleCAzNTY0ZmUyLi4zNTg4ZmI0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9maWxlYXBpL0Jsb2IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvQmxv
Yi5jcHAKQEAgLTMzLDcgKzMzLDYgQEAKIAogI2luY2x1ZGUgIkJsb2JVUkwuaCIKICNpbmNsdWRl
ICJGaWxlLmgiCi0jaW5jbHVkZSAiSGlzdG9ncmFtU3VwcG9ydC5oIgogI2luY2x1ZGUgIlNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRlICJUaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5Lmgi
CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZmlsZWFwaS9XZWJLaXRCbG9iQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBp
L1dlYktpdEJsb2JCdWlsZGVyLmNwcAppbmRleCA2NThiNmE0Li40MWI5MjM0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL1dlYktpdEJsb2JCdWlsZGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9maWxlYXBpL1dlYktpdEJsb2JCdWlsZGVyLmNwcApAQCAtMzUsNyArMzUsNiBA
QAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2lu
Y2x1ZGUgIkZpbGUuaCIKLSNpbmNsdWRlICJIaXN0b2dyYW1TdXBwb3J0LmgiCiAjaW5jbHVkZSAi
TGluZUVuZGluZy5oIgogI2luY2x1ZGUgIlRleHRFbmNvZGluZy5oIgogI2luY2x1ZGUgPHJ1bnRp
bWUvQXJyYXlCdWZmZXIuaD4KQEAgLTg5LDggKzg4LDYgQEAgdm9pZCBCbG9iQnVpbGRlcjo6YXBw
ZW5kKGNvbnN0IFN0cmluZyYgdGV4dCwgY29uc3QgU3RyaW5nJiBlbmRpbmdUeXBlKQogI2lmIEVO
QUJMRShCTE9CKQogdm9pZCBCbG9iQnVpbGRlcjo6YXBwZW5kKEFycmF5QnVmZmVyKiBhcnJheUJ1
ZmZlcikKIHsKLSAgICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1FbnVtZXJhdGlvbigiV2Vi
Q29yZS5CbG9iLmNvbnN0cnVjdG9yLkFycmF5QnVmZmVyT3JWaWV3IiwgQmxvYkNvbnN0cnVjdG9y
QXJyYXlCdWZmZXIsIEJsb2JDb25zdHJ1Y3RvckFycmF5QnVmZmVyT3JWaWV3TWF4KTsKLQogICAg
IGlmICghYXJyYXlCdWZmZXIpCiAgICAgICAgIHJldHVybjsKIApAQCAtOTksOCArOTYsNiBAQCB2
b2lkIEJsb2JCdWlsZGVyOjphcHBlbmQoQXJyYXlCdWZmZXIqIGFycmF5QnVmZmVyKQogCiB2b2lk
IEJsb2JCdWlsZGVyOjphcHBlbmQoUGFzc1JlZlB0cjxBcnJheUJ1ZmZlclZpZXc+IGFycmF5QnVm
ZmVyVmlldykKIHsKLSAgICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1FbnVtZXJhdGlvbigi
V2ViQ29yZS5CbG9iLmNvbnN0cnVjdG9yLkFycmF5QnVmZmVyT3JWaWV3IiwgQmxvYkNvbnN0cnVj
dG9yQXJyYXlCdWZmZXJWaWV3LCBCbG9iQ29uc3RydWN0b3JBcnJheUJ1ZmZlck9yVmlld01heCk7
Ci0KICAgICBpZiAoIWFycmF5QnVmZmVyVmlldykKICAgICAgICAgcmV0dXJuOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9oaXN0b3J5L1BhZ2VDYWNoZS5jcHAKaW5kZXggOTAzYjUzZS4uZThhYTBiNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2hpc3RvcnkvUGFnZUNhY2hlLmNwcApAQCAtNDAsNyArNDAsNiBAQAogI2luY2x1ZGUgIkZy
YW1lTG9hZGVyQ2xpZW50LmgiCiAjaW5jbHVkZSAiRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUuaCIK
ICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKLSNpbmNsdWRlICJIaXN0b2dyYW1TdXBwb3J0LmgiCiAj
aW5jbHVkZSAiSGlzdG9yeUNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJIaXN0b3J5SXRlbS5oIgog
I2luY2x1ZGUgIkxvZ2dpbmcuaCIKQEAgLTE4MSwxNiArMTgwLDYgQEAgc3RhdGljIHVuc2lnbmVk
IGxvZ0NhbkNhY2hlRnJhbWVEZWNpc2lvbihGcmFtZSogZnJhbWUsIGludCBpbmRlbnRMZXZlbCkK
ICAgICAgICAgcmVqZWN0UmVhc29ucyB8PSAxIDw8IENsaWVudERlbmllc0NhY2hpbmc7CiAgICAg
fQogCi0gICAgSGlzdG9ncmFtU3VwcG9ydDo6aGlzdG9ncmFtRW51bWVyYXRpb24oIlBhZ2VDYWNo
ZS5GcmFtZUNhY2hlYWJsZSIsICFyZWplY3RSZWFzb25zLCAyKTsKLSAgICBpbnQgcmVhc29uQ291
bnQgPSAwOwotICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTnVtYmVyT2ZSZWFzb25zRnJhbWVzQ2Fu
bm90QmVJblBhZ2VDYWNoZTsgKytpKSB7Ci0gICAgICAgIGlmIChyZWplY3RSZWFzb25zICYgKDEg
PDwgaSkpIHsKLSAgICAgICAgICAgICsrcmVhc29uQ291bnQ7Ci0gICAgICAgICAgICBIaXN0b2dy
YW1TdXBwb3J0OjpoaXN0b2dyYW1FbnVtZXJhdGlvbigiUGFnZUNhY2hlLkZyYW1lUmVqZWN0UmVh
c29uIiwgaSwgTnVtYmVyT2ZSZWFzb25zRnJhbWVzQ2Fubm90QmVJblBhZ2VDYWNoZSk7Ci0gICAg
ICAgIH0KLSAgICB9Ci0gICAgSGlzdG9ncmFtU3VwcG9ydDo6aGlzdG9ncmFtRW51bWVyYXRpb24o
IlBhZ2VDYWNoZS5GcmFtZVJlamVjdFJlYXNvbkNvdW50IiwgcmVhc29uQ291bnQsIDEgKyBOdW1i
ZXJPZlJlYXNvbnNGcmFtZXNDYW5ub3RCZUluUGFnZUNhY2hlKTsKLQogICAgIGZvciAoRnJhbWUq
IGNoaWxkID0gZnJhbWUtPnRyZWUoKS5maXJzdENoaWxkKCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxk
LT50cmVlKCkubmV4dFNpYmxpbmcoKSkKICAgICAgICAgcmVqZWN0UmVhc29ucyB8PSBsb2dDYW5D
YWNoZUZyYW1lRGVjaXNpb24oY2hpbGQsIGluZGVudExldmVsICsgMSk7CiAgICAgCkBAIC0yNjcs
MzEgKzI1Niw2IEBAIHN0YXRpYyB2b2lkIGxvZ0NhbkNhY2hlUGFnZURlY2lzaW9uKFBhZ2UqIHBh
Z2UpCiAgICAgfQogICAgIAogICAgIFBDTE9HKHJlamVjdFJlYXNvbnMgPyAiIFBhZ2UgQ0FOTk9U
IGJlIGNhY2hlZFxuLS0tLS0tLS0iIDogIiBQYWdlIENBTiBiZSBjYWNoZWRcbi0tLS0tLS0tIik7
Ci0KLSAgICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1FbnVtZXJhdGlvbigiUGFnZUNhY2hl
LlBhZ2VDYWNoZWFibGUiLCAhcmVqZWN0UmVhc29ucywgMik7Ci0gICAgaW50IHJlYXNvbkNvdW50
ID0gMDsKLSAgICBmb3IgKGludCBpID0gMDsgaSA8IE51bWJlck9mUmVhc29uc1BhZ2VzQ2Fubm90
QmVJblBhZ2VDYWNoZTsgKytpKSB7Ci0gICAgICAgIGlmIChyZWplY3RSZWFzb25zICYgKDEgPDwg
aSkpIHsKLSAgICAgICAgICAgICsrcmVhc29uQ291bnQ7Ci0gICAgICAgICAgICBIaXN0b2dyYW1T
dXBwb3J0OjpoaXN0b2dyYW1FbnVtZXJhdGlvbigiUGFnZUNhY2hlLlBhZ2VSZWplY3RSZWFzb24i
LCBpLCBOdW1iZXJPZlJlYXNvbnNQYWdlc0Nhbm5vdEJlSW5QYWdlQ2FjaGUpOwotICAgICAgICB9
Ci0gICAgfQotICAgIEhpc3RvZ3JhbVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJQYWdl
Q2FjaGUuUGFnZVJlamVjdFJlYXNvbkNvdW50IiwgcmVhc29uQ291bnQsIDEgKyBOdW1iZXJPZlJl
YXNvbnNQYWdlc0Nhbm5vdEJlSW5QYWdlQ2FjaGUpOwotICAgIGNvbnN0IGJvb2wgc2V0dGluZ3NE
aXNhYmxlZFBhZ2VDYWNoZSA9IHJlamVjdFJlYXNvbnMgJiAoMSA8PCBEaXNhYmxlZFBhZ2VDYWNo
ZSk7Ci0gICAgSGlzdG9ncmFtU3VwcG9ydDo6aGlzdG9ncmFtRW51bWVyYXRpb24oIlBhZ2VDYWNo
ZS5QYWdlUmVqZWN0UmVhc29uQ291bnRFeGNsdWRpbmdTZXR0aW5ncyIsIHJlYXNvbkNvdW50IC0g
c2V0dGluZ3NEaXNhYmxlZFBhZ2VDYWNoZSwgTnVtYmVyT2ZSZWFzb25zUGFnZXNDYW5ub3RCZUlu
UGFnZUNhY2hlKTsKLQotICAgIC8vIFJlcG9ydCBhbHNvIG9uIHRoZSBmcmFtZSByZWFzb25zIGJ5
IHBhZ2U7IHRoaXMgaXMgZGlzdGluY3QgZnJvbSB0aGUgcGVyIGZyYW1lIHN0YXRpc3RpY3Mgc2lu
Y2UgaXQgY29hbGVzY2VzIHRoZQotICAgIC8vIGNhdXNlcyBmcm9tIGFsbCBzdWJmcmFtZXMgdG9n
ZXRoZXIuCi0gICAgSGlzdG9ncmFtU3VwcG9ydDo6aGlzdG9ncmFtRW51bWVyYXRpb24oIlBhZ2VD
YWNoZS5GcmFtZUNhY2hlYWJsZUJ5UGFnZSIsICFmcmFtZVJlamVjdFJlYXNvbnMsIDIpOwotICAg
IGludCBmcmFtZVJlYXNvbkNvdW50ID0gMDsKLSAgICBmb3IgKGludCBpID0gMDsgaSA8PSBOdW1i
ZXJPZlJlYXNvbnNGcmFtZXNDYW5ub3RCZUluUGFnZUNhY2hlOyArK2kpIHsKLSAgICAgICAgaWYg
KGZyYW1lUmVqZWN0UmVhc29ucyAmICgxIDw8IGkpKSB7Ci0gICAgICAgICAgICArK2ZyYW1lUmVh
c29uQ291bnQ7Ci0gICAgICAgICAgICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1FbnVtZXJh
dGlvbigiUGFnZUNhY2hlLkZyYW1lUmVqZWN0UmVhc29uQnlQYWdlIiwgaSwgTnVtYmVyT2ZSZWFz
b25zRnJhbWVzQ2Fubm90QmVJblBhZ2VDYWNoZSk7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBI
aXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1FbnVtZXJhdGlvbigiUGFnZUNhY2hlLkZyYW1lUmVq
ZWN0UmVhc29uQ291bnRCeVBhZ2UiLCBmcmFtZVJlYXNvbkNvdW50LCAxICsgTnVtYmVyT2ZSZWFz
b25zRnJhbWVzQ2Fubm90QmVJblBhZ2VDYWNoZSk7CiB9CiAKICNlbmRpZiAvLyAhZGVmaW5lZChO
REVCVUcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9IaXN0b2dyYW1TdXBw
b3J0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0hpc3RvZ3JhbVN1cHBvcnQuY3BwCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkOWVhNzljLi4wMDAwMDAwCi0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0hpc3RvZ3JhbVN1cHBvcnQuY3BwCisrKyAvZGV2L251bGwKQEAg
LTEsNDQgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQotICog
bWV0OgotICoKLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0gKiBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyCi0gKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlCi0gKiBkaXN0cmlidXRpb24uCi0gKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotICog
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
LSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAotICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAq
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJIaXN0b2dyYW1TdXBw
b3J0LmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotdm9pZCBIaXN0b2dyYW1TdXBwb3J0Ojpo
aXN0b2dyYW1FbnVtZXJhdGlvbihjb25zdCBjaGFyKiwgaW50LCBpbnQpCi17Ci19Ci0KLXZvaWQg
SGlzdG9ncmFtU3VwcG9ydDo6aGlzdG9ncmFtQ3VzdG9tQ291bnRzKGNvbnN0IGNoYXIqLCBpbnQs
IGludCwgaW50LCBpbnQpCi17Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0hpc3RvZ3JhbVN1cHBvcnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL0hpc3RvZ3JhbVN1cHBvcnQuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggOWJiMjY1YS4uMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9I
aXN0b2dyYW1TdXBwb3J0LmgKKysrIC9kZXYvbnVsbApAQCAtMSw0NCArMCwwIEBACi0vKgotICog
Q29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgot
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCi0gKiBtZXQ6Ci0gKgotICogICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKLSAqIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAqIGRpc3Ry
aWJ1dGlvbi4KLSAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRo
ZSBuYW1lcyBvZiBpdHMKLSAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCi0gKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAq
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0gKiBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotICogREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBI
aXN0b2dyYW1TdXBwb3J0X2gKLSNkZWZpbmUgSGlzdG9ncmFtU3VwcG9ydF9oCi0KLW5hbWVzcGFj
ZSBXZWJDb3JlIHsKLQotY2xhc3MgSGlzdG9ncmFtU3VwcG9ydCB7Ci1wdWJsaWM6Ci0gICAgc3Rh
dGljIHZvaWQgaGlzdG9ncmFtRW51bWVyYXRpb24oY29uc3QgY2hhciogbmFtZSwgaW50IHNhbXBs
ZSwgaW50IGJvdW5kYXJ5VmFsdWUpOwotICAgIHN0YXRpYyB2b2lkIGhpc3RvZ3JhbUN1c3RvbUNv
dW50cyhjb25zdCBjaGFyKiBuYW1lLCBpbnQgc2FtcGxlLCBpbnQgbWluLCBpbnQgbWF4LCBpbnQg
YnVja2V0Q291bnQpOwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8g
SGlzdG9ncmFtU3VwcG9ydF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9s
ZXZlbGRiL0xldmVsREJEYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9sZXZl
bGRiL0xldmVsREJEYXRhYmFzZS5jcHAKaW5kZXggOGUxNTAzZS4uMGM5OTQ3YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbGV2ZWxkYi9MZXZlbERCRGF0YWJhc2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2xldmVsZGIvTGV2ZWxEQkRhdGFiYXNlLmNwcApA
QCAtMjgsNyArMjgsNiBAQAogCiAjaWYgVVNFKExFVkVMREIpCiAKLSNpbmNsdWRlICJIaXN0b2dy
YW1TdXBwb3J0LmgiCiAjaW5jbHVkZSAiTGV2ZWxEQkNvbXBhcmF0b3IuaCIKICNpbmNsdWRlICJM
ZXZlbERCSXRlcmF0b3IuaCIKICNpbmNsdWRlICJMZXZlbERCU2xpY2UuaCIKQEAgLTEzNiwyNiAr
MTM1LDYgQEAgYm9vbCBMZXZlbERCRGF0YWJhc2U6OmRlc3Ryb3koY29uc3QgU3RyaW5nJiBmaWxl
TmFtZSkKICAgICByZXR1cm4gcy5vaygpOwogfQogCi1zdGF0aWMgdm9pZCBoaXN0b2dyYW1MZXZl
bERCRXJyb3IoY29uc3QgY2hhciogaGlzdG9ncmFtTmFtZSwgY29uc3QgbGV2ZWxkYjo6U3RhdHVz
JiBzKQotewotICAgIEFTU0VSVCghcy5vaygpKTsKLSAgICBlbnVtIHsKLSAgICAgICAgTGV2ZWxE
Qk5vdEZvdW5kLAotICAgICAgICBMZXZlbERCQ29ycnVwdGlvbiwKLSAgICAgICAgTGV2ZWxEQklP
RXJyb3IsCi0gICAgICAgIExldmVsREJPdGhlciwKLSAgICAgICAgTGV2ZWxEQk1heEVycm9yCi0g
ICAgfTsKLSAgICBpbnQgbGV2ZWxEQkVycm9yID0gTGV2ZWxEQk90aGVyOwotICAgIGlmIChzLklz
Tm90Rm91bmQoKSkKLSAgICAgICAgbGV2ZWxEQkVycm9yID0gTGV2ZWxEQk5vdEZvdW5kOwotICAg
IGVsc2UgaWYgKHMuSXNDb3JydXB0aW9uKCkpCi0gICAgICAgIGxldmVsREJFcnJvciA9IExldmVs
REJDb3JydXB0aW9uOwotICAgIGVsc2UgaWYgKHMuSXNJT0Vycm9yKCkpCi0gICAgICAgIGxldmVs
REJFcnJvciA9IExldmVsREJJT0Vycm9yOwotICAgIEhpc3RvZ3JhbVN1cHBvcnQ6Omhpc3RvZ3Jh
bUVudW1lcmF0aW9uKGhpc3RvZ3JhbU5hbWUsIGxldmVsREJFcnJvciwgTGV2ZWxEQk1heEVycm9y
KTsKLX0KLQogc3RkOjp1bmlxdWVfcHRyPExldmVsREJEYXRhYmFzZT4gTGV2ZWxEQkRhdGFiYXNl
OjpvcGVuKGNvbnN0IFN0cmluZyYgZmlsZU5hbWUsIGNvbnN0IExldmVsREJDb21wYXJhdG9yKiBj
b21wYXJhdG9yKQogewogICAgIGF1dG8gY29tcGFyYXRvckFkYXB0ZXIgPSBzdGQ6Om1ha2VfdW5p
cXVlPENvbXBhcmF0b3JBZGFwdGVyPihjb21wYXJhdG9yKTsKQEAgLTE2NCw4ICsxNDMsNiBAQCBz
dGQ6OnVuaXF1ZV9wdHI8TGV2ZWxEQkRhdGFiYXNlPiBMZXZlbERCRGF0YWJhc2U6Om9wZW4oY29u
c3QgU3RyaW5nJiBmaWxlTmFtZSwgYwogICAgIGNvbnN0IGxldmVsZGI6OlN0YXR1cyBzID0gb3Bl
bkRCKGNvbXBhcmF0b3JBZGFwdGVyLmdldCgpLCBsZXZlbGRiOjpJREJFbnYoKSwgZmlsZU5hbWUs
ICZkYik7CiAKICAgICBpZiAoIXMub2soKSkgewotICAgICAgICBoaXN0b2dyYW1MZXZlbERCRXJy
b3IoIldlYkNvcmUuSW5kZXhlZERCLkxldmVsREJPcGVuRXJyb3JzIiwgcyk7Ci0KICAgICAgICAg
TE9HX0VSUk9SKCJGYWlsZWQgdG8gb3BlbiBMZXZlbERCIGRhdGFiYXNlIGZyb20gJXM6ICVzIiwg
ZmlsZU5hbWUuYXNjaWkoKS5kYXRhKCksIHMuVG9TdHJpbmcoKS5jX3N0cigpKTsKICAgICAgICAg
cmV0dXJuIG51bGxwdHI7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ci5jcHAKaW5kZXggNTViZTkyNC4uNThlNzRjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXIuY3BwCkBAIC03MCw3ICs3MCw2IEBACiAjaW5jbHVkZSAiSFRNTEZyYW1lRWxl
bWVudC5oIgogI2luY2x1ZGUgIkhUTUxGcmFtZU93bmVyRWxlbWVudC5oIgogI2luY2x1ZGUgIkhU
TUxOYW1lcy5oIgotI2luY2x1ZGUgIkhpc3RvZ3JhbVN1cHBvcnQuaCIKICNpbmNsdWRlICJIaXRU
ZXN0aW5nVHJhbnNmb3JtU3RhdGUuaCIKICNpbmNsdWRlICJIaXRUZXN0UmVxdWVzdC5oIgogI2lu
Y2x1ZGUgIkhpdFRlc3RSZXN1bHQuaCIKQEAgLTIxNTYsMTIgKzIxNTUsNiBAQCB2b2lkIFJlbmRl
ckxheWVyOjp1cGRhdGVOZWVkc0NvbXBvc2l0ZWRTY3JvbGxpbmcoKQogICAgICAgICAvLyBsYXll
cnMgaW4gV2ViQ29yZSwgYmVjYXVzZSB3ZSB1c2UgVUlLaXQgdG8gY29tcG9zaXRlIG91ciBzY3Jv
bGwgYmFycy4KICAgICAgICAgbV9uZWVkc0NvbXBvc2l0ZWRTY3JvbGxpbmcgPSBmb3JjZVVzZUNv
bXBvc2l0ZWRTY3JvbGxpbmc7CiAjZW5kaWYKLSAgICAgICAgLy8gV2UgZ2F0aGVyIGEgYm9vbGVh
biB2YWx1ZSBmb3IgdXNlIHdpdGggR29vZ2xlIFVNQSBoaXN0b2dyYW1zIHRvCi0gICAgICAgIC8v
IHF1YW50aWZ5IHRoZSBhY3R1YWwgZWZmZWN0cyBvZiBhIHNldCBvZiBwYXRjaGVzIGF0dGVtcHRp
bmcgdG8KLSAgICAgICAgLy8gcmVsYXggY29tcG9zaXRlZCBzY3JvbGxpbmcgcmVxdWlyZW1lbnRz
LCB0aGVyZWJ5IGluY3JlYXNpbmcgdGhlCi0gICAgICAgIC8vIG51bWJlciBvZiBjb21wb3NpdGVk
IG92ZXJmbG93IGRpdnMuCi0gICAgICAgIGlmIChhY2NlbGVyYXRlZENvbXBvc2l0aW5nRm9yT3Zl
cmZsb3dTY3JvbGxFbmFibGVkKCkpCi0gICAgICAgICAgICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0
b2dyYW1FbnVtZXJhdGlvbigiUmVuZGVyZXIuTmVlZHNDb21wb3NpdGVkU2Nyb2xsaW5nIiwgbV9u
ZWVkc0NvbXBvc2l0ZWRTY3JvbGxpbmcsIDIpOwogICAgIH0KIAogICAgIGlmIChvbGROZWVkc0Nv
bXBvc2l0ZWRTY3JvbGxpbmcgIT0gbV9uZWVkc0NvbXBvc2l0ZWRTY3JvbGxpbmcpIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCmluZGV4IGRhYmE0OWYuLmZiY2QxOTAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcApAQCAtMzUsNyArMzUsNiBAQAogI2luY2x1
ZGUgIkZpbGUuaCIKICNpbmNsdWRlICJIVE1MRG9jdW1lbnQuaCIKICNpbmNsdWRlICJIVFRQUGFy
c2Vycy5oIgotI2luY2x1ZGUgIkhpc3RvZ3JhbVN1cHBvcnQuaCIKICNpbmNsdWRlICJJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb24uaCIKICNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKICNpbmNsdWRl
ICJKU0RPTVdpbmRvdy5oIgpAQCAtNzEwLDE1ICs3MDksMTEgQEAgdm9pZCBYTUxIdHRwUmVxdWVz
dDo6c2VuZChBcnJheUJ1ZmZlciogYm9keSwgRXhjZXB0aW9uQ29kZSYgZWMpCiAgICAgU3RyaW5n
IGNvbnNvbGVNZXNzYWdlKCJBcnJheUJ1ZmZlciBpcyBkZXByZWNhdGVkIGluIFhNTEh0dHBSZXF1
ZXN0LnNlbmQoKS4gVXNlIEFycmF5QnVmZmVyVmlldyBpbnN0ZWFkLiIpOwogICAgIHNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1l
c3NhZ2VMZXZlbDo6V2FybmluZywgY29uc29sZU1lc3NhZ2UpOwogCi0gICAgSGlzdG9ncmFtU3Vw
cG9ydDo6aGlzdG9ncmFtRW51bWVyYXRpb24oIldlYkNvcmUuWEhSLnNlbmQuQXJyYXlCdWZmZXJP
clZpZXciLCBYTUxIdHRwUmVxdWVzdFNlbmRBcnJheUJ1ZmZlciwgWE1MSHR0cFJlcXVlc3RTZW5k
QXJyYXlCdWZmZXJPclZpZXdNYXgpOwotCiAgICAgc2VuZEJ5dGVzRGF0YShib2R5LT5kYXRhKCks
IGJvZHktPmJ5dGVMZW5ndGgoKSwgZWMpOwogfQogCiB2b2lkIFhNTEh0dHBSZXF1ZXN0OjpzZW5k
KEFycmF5QnVmZmVyVmlldyogYm9keSwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7Ci0gICAgSGlzdG9n
cmFtU3VwcG9ydDo6aGlzdG9ncmFtRW51bWVyYXRpb24oIldlYkNvcmUuWEhSLnNlbmQuQXJyYXlC
dWZmZXJPclZpZXciLCBYTUxIdHRwUmVxdWVzdFNlbmRBcnJheUJ1ZmZlclZpZXcsIFhNTEh0dHBS
ZXF1ZXN0U2VuZEFycmF5QnVmZmVyT3JWaWV3TWF4KTsKLQogICAgIHNlbmRCeXRlc0RhdGEoYm9k
eS0+YmFzZUFkZHJlc3MoKSwgYm9keS0+Ynl0ZUxlbmd0aCgpLCBlYyk7CiB9CiAK
</data>
<flag name="review"
          id="254801"
          type_id="1"
          status="-"
          setter="ggaren"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>230423</attachid>
            <date>2014-04-29 15:01:12 -0700</date>
            <delta_ts>2014-05-02 16:58:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-132354.diff</filename>
            <type>text/plain</type>
            <size>43556</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggMzI5ZDc4Ni4uMDk1ODRkZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKQEAgLTE5NTIsNyArMTk1Miw2IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0
Zm9ybS9GaWxlQ2hvb3Nlci5jcHAKICAgICBwbGF0Zm9ybS9GaWxlU3RyZWFtLmNwcAogICAgIHBs
YXRmb3JtL0ZpbGVTeXN0ZW0uY3BwCi0gICAgcGxhdGZvcm0vSGlzdG9ncmFtU3VwcG9ydC5jcHAK
ICAgICBwbGF0Zm9ybS9VUkwuY3BwCiAgICAgcGxhdGZvcm0vS2lsbFJpbmdOb25lLmNwcAogICAg
IHBsYXRmb3JtL0xhbmd1YWdlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGQ0ZDhiZjMuLmYzMjI0OTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKQEAgLTEsMyArMSw1MSBAQAorMjAxNC0wNC0yOSAgQW5kcmVhcyBLbGluZyAgPGFr
bGluZ0BhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIEhpc3RvZ3JhbVN1cHBvcnQuCisgICAg
ICAgIDxodHRwczovL3dlYmtpdC5vcmcvYi8xMzIzNTQ+CisKKyAgICAgICAgUHJ1bmUgc29tZSBs
ZWZ0b3ZlciBDaHJvbWl1bSBndW5rIHRoYXQgbm8gb3RoZXIgcG9ydHMgZXZlciB1c2VkLgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ01ha2VMaXN0
cy50eHQ6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2UuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SURCRGF0YWJhc2U6OmNyZWF0ZU9iamVjdFN0b3JlKToKKyAgICAgICAg
KFdlYkNvcmU6OklEQkRhdGFiYXNlOjpkZWxldGVPYmplY3RTdG9yZSk6CisgICAgICAgIChXZWJD
b3JlOjpJREJEYXRhYmFzZTo6dHJhbnNhY3Rpb24pOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhl
ZGRiL0lEQkZhY3RvcnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCRmFjdG9yeTo6b3Blbklu
dGVybmFsKToKKyAgICAgICAgKFdlYkNvcmU6OklEQkZhY3Rvcnk6OmRlbGV0ZURhdGFiYXNlKToK
KyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJIaXN0b2dyYW1zLmg6IFJlbW92ZWQuCisg
ICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvbGV2ZWxkYi9JREJCYWNraW5nU3RvcmVMZXZlbERC
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQkJhY2tpbmdTdG9yZUxldmVsREI6Om9wZW4pOgor
ICAgICAgICAoV2ViQ29yZTo6SURCQmFja2luZ1N0b3JlTGV2ZWxEQjo6b3BlbkluTWVtb3J5KToK
KyAgICAgICAgKFdlYkNvcmU6OnJlY29yZEludGVybmFsRXJyb3IpOiBEZWxldGVkLgorICAgICAg
ICAqIE1vZHVsZXMvaW5kZXhlZGRiL2xldmVsZGIvSURCQmFja2luZ1N0b3JlVHJhbnNhY3Rpb25M
ZXZlbERCLmNwcDoKKyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qOgor
ICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVyczoKKyAgICAg
ICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogY3NzL0NT
U1BhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjc3NQcm9wZXJ0eUlEKToKKyAgICAgICAg
KiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6On5Eb2N1bWVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpoaXN0b2dyYW1NdXRhdGlvbkV2ZW50VXNhZ2UpOiBEZWxl
dGVkLgorICAgICAgICAqIGRvbS9TaGFkb3dSb290LmNwcDoKKyAgICAgICAgKiBmaWxlYXBpL0Js
b2IuY3BwOgorICAgICAgICAqIGZpbGVhcGkvV2ViS2l0QmxvYkJ1aWxkZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6QmxvYkJ1aWxkZXI6OmFwcGVuZCk6CisgICAgICAgICogaGlzdG9yeS9QYWdl
Q2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bG9nQ2FuQ2FjaGVGcmFtZURlY2lzaW9uKToK
KyAgICAgICAgKFdlYkNvcmU6OmxvZ0NhbkNhY2hlUGFnZURlY2lzaW9uKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9IaXN0b2dyYW1TdXBwb3J0LmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9IaXN0b2dyYW1TdXBwb3J0Lmg6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbGV2ZWxk
Yi9MZXZlbERCRGF0YWJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGV2ZWxEQkRhdGFiYXNl
OjpvcGVuKToKKyAgICAgICAgKFdlYkNvcmU6Omhpc3RvZ3JhbUxldmVsREJFcnJvcik6IERlbGV0
ZWQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckxheWVyOjp1cGRhdGVOZWVkc0NvbXBvc2l0ZWRTY3JvbGxpbmcpOgorICAgICAg
ICAqIHhtbC9YTUxIdHRwUmVxdWVzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVx
dWVzdDo6c2VuZCk6CisKIDIwMTQtMDQtMjkgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5j
b20+CiAKICAgICAgICAgW2lPU10gUmVtb3ZlIHdvcmthcm91bmQgZm9yIDxyZGFyOi8vcHJvYmxl
bS8xNjU3ODcyNz4uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9JREJEYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJE
YXRhYmFzZS5jcHAKaW5kZXggNzhmODgwYy4uNjEwMDkxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlLmNwcApAQCAtMzEsMTMgKzMxLDExIEBA
CiAjaW5jbHVkZSAiRE9NU3RyaW5nTGlzdC5oIgogI2luY2x1ZGUgIkV2ZW50UXVldWUuaCIKICNp
bmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCi0jaW5jbHVkZSAiSGlzdG9ncmFtU3VwcG9ydC5oIgog
I2luY2x1ZGUgIklEQkFueS5oIgogI2luY2x1ZGUgIklEQkRhdGFiYXNlQ2FsbGJhY2tzLmgiCiAj
aW5jbHVkZSAiSURCRGF0YWJhc2VFcnJvci5oIgogI2luY2x1ZGUgIklEQkRhdGFiYXNlRXhjZXB0
aW9uLmgiCiAjaW5jbHVkZSAiSURCRXZlbnREaXNwYXRjaGVyLmgiCi0jaW5jbHVkZSAiSURCSGlz
dG9ncmFtcy5oIgogI2luY2x1ZGUgIklEQkluZGV4LmgiCiAjaW5jbHVkZSAiSURCS2V5UGF0aC5o
IgogI2luY2x1ZGUgIklEQk9iamVjdFN0b3JlLmgiCkBAIC0xNjEsNyArMTU5LDYgQEAgUGFzc1Jl
ZlB0cjxJREJPYmplY3RTdG9yZT4gSURCRGF0YWJhc2U6OmNyZWF0ZU9iamVjdFN0b3JlKGNvbnN0
IFN0cmluZyYgbmFtZSwgY28KIFBhc3NSZWZQdHI8SURCT2JqZWN0U3RvcmU+IElEQkRhdGFiYXNl
OjpjcmVhdGVPYmplY3RTdG9yZShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IElEQktleVBhdGgm
IGtleVBhdGgsIGJvb2wgYXV0b0luY3JlbWVudCwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAg
TE9HKFN0b3JhZ2VBUEksICJJREJEYXRhYmFzZTo6Y3JlYXRlT2JqZWN0U3RvcmUiKTsKLSAgICBI
aXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1FbnVtZXJhdGlvbigiV2ViQ29yZS5JbmRleGVkREIu
RnJvbnRFbmRBUElDYWxscyIsIElEQkNyZWF0ZU9iamVjdFN0b3JlQ2FsbCwgSURCTWV0aG9kc01h
eCk7CiAgICAgaWYgKCFtX3ZlcnNpb25DaGFuZ2VUcmFuc2FjdGlvbikgewogICAgICAgICBlYyA9
IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpJbnZhbGlkU3RhdGVFcnJvcjsKICAgICAgICAgcmV0dXJu
IDA7CkBAIC0yMDEsNyArMTk4LDYgQEAgUGFzc1JlZlB0cjxJREJPYmplY3RTdG9yZT4gSURCRGF0
YWJhc2U6OmNyZWF0ZU9iamVjdFN0b3JlKGNvbnN0IFN0cmluZyYgbmFtZSwgY28KIHZvaWQgSURC
RGF0YWJhc2U6OmRlbGV0ZU9iamVjdFN0b3JlKGNvbnN0IFN0cmluZyYgbmFtZSwgRXhjZXB0aW9u
Q29kZSYgZWMpCiB7CiAgICAgTE9HKFN0b3JhZ2VBUEksICJJREJEYXRhYmFzZTo6ZGVsZXRlT2Jq
ZWN0U3RvcmUiKTsKLSAgICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1FbnVtZXJhdGlvbigi
V2ViQ29yZS5JbmRleGVkREIuRnJvbnRFbmRBUElDYWxscyIsIElEQkRlbGV0ZU9iamVjdFN0b3Jl
Q2FsbCwgSURCTWV0aG9kc01heCk7CiAgICAgaWYgKCFtX3ZlcnNpb25DaGFuZ2VUcmFuc2FjdGlv
bikgewogICAgICAgICBlYyA9IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpJbnZhbGlkU3RhdGVFcnJv
cjsKICAgICAgICAgcmV0dXJuOwpAQCAtMjI1LDcgKzIyMSw2IEBAIHZvaWQgSURCRGF0YWJhc2U6
OmRlbGV0ZU9iamVjdFN0b3JlKGNvbnN0IFN0cmluZyYgbmFtZSwgRXhjZXB0aW9uQ29kZSYgZWMp
CiBQYXNzUmVmUHRyPElEQlRyYW5zYWN0aW9uPiBJREJEYXRhYmFzZTo6dHJhbnNhY3Rpb24oU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgY29uc3QgVmVjdG9yPFN0cmluZz4mIHNjb3Bl
LCBjb25zdCBTdHJpbmcmIG1vZGVTdHJpbmcsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIExP
RyhTdG9yYWdlQVBJLCAiSURCRGF0YWJhc2U6OnRyYW5zYWN0aW9uIik7Ci0gICAgSGlzdG9ncmFt
U3VwcG9ydDo6aGlzdG9ncmFtRW51bWVyYXRpb24oIldlYkNvcmUuSW5kZXhlZERCLkZyb250RW5k
QVBJQ2FsbHMiLCBJREJUcmFuc2FjdGlvbkNhbGwsIElEQk1ldGhvZHNNYXgpOwogICAgIGlmICgh
c2NvcGUuc2l6ZSgpKSB7CiAgICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNlcHRpb246OkludmFs
aWRBY2Nlc3NFcnJvcjsKICAgICAgICAgcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJGYWN0b3J5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL0lEQkZhY3RvcnkuY3BwCmluZGV4IDZiOTE5NzQuLjY2OGQ4OGEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkZhY3RvcnkuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkZhY3RvcnkuY3BwCkBA
IC0zNSwxMyArMzUsMTEgQEAKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCiAjaW5jbHVkZSAi
RnJhbWUuaCIKICNpbmNsdWRlICJHcm91cFNldHRpbmdzLmgiCi0jaW5jbHVkZSAiSGlzdG9ncmFt
U3VwcG9ydC5oIgogI2luY2x1ZGUgIklEQkJpbmRpbmdVdGlsaXRpZXMuaCIKICNpbmNsdWRlICJJ
REJEYXRhYmFzZS5oIgogI2luY2x1ZGUgIklEQkRhdGFiYXNlQ2FsbGJhY2tzSW1wbC5oIgogI2lu
Y2x1ZGUgIklEQkRhdGFiYXNlRXhjZXB0aW9uLmgiCiAjaW5jbHVkZSAiSURCRmFjdG9yeUJhY2tl
bmRJbnRlcmZhY2UuaCIKLSNpbmNsdWRlICJJREJIaXN0b2dyYW1zLmgiCiAjaW5jbHVkZSAiSURC
S2V5LmgiCiAjaW5jbHVkZSAiSURCS2V5UmFuZ2UuaCIKICNpbmNsdWRlICJJREJPcGVuREJSZXF1
ZXN0LmgiCkBAIC0xMjQsNyArMTIyLDYgQEAgUGFzc1JlZlB0cjxJREJPcGVuREJSZXF1ZXN0PiBJ
REJGYWN0b3J5OjpvcGVuKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIGMKIAogUGFz
c1JlZlB0cjxJREJPcGVuREJSZXF1ZXN0PiBJREJGYWN0b3J5OjpvcGVuSW50ZXJuYWwoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgY29uc3QgU3RyaW5nJiBuYW1lLCB1aW50NjRfdCB2
ZXJzaW9uLCBJbmRleGVkREI6OlZlcnNpb25OdWxsbmVzcyB2ZXJzaW9uTnVsbG5lc3MsIEV4Y2Vw
dGlvbkNvZGUmIGVjKQogewotICAgIEhpc3RvZ3JhbVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0
aW9uKCJXZWJDb3JlLkluZGV4ZWREQi5Gcm9udEVuZEFQSUNhbGxzIiwgSURCT3BlbkNhbGwsIElE
Qk1ldGhvZHNNYXgpOwogICAgIEFTU0VSVCh2ZXJzaW9uID49IDEgfHwgdmVyc2lvbk51bGxuZXNz
ID09IEluZGV4ZWREQjo6VmVyc2lvbk51bGxuZXNzOjpOdWxsKTsKICAgICBpZiAobmFtZS5pc051
bGwoKSkgewogICAgICAgICBlYyA9IFR5cGVFcnJvcjsKQEAgLTE0Nyw3ICsxNDQsNiBAQCBQYXNz
UmVmUHRyPElEQk9wZW5EQlJlcXVlc3Q+IElEQkZhY3Rvcnk6Om9wZW5JbnRlcm5hbChTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiBjbwogUGFzc1JlZlB0cjxJREJPcGVuREJSZXF1ZXN0PiBJREJGYWN0
b3J5OjpkZWxldGVEYXRhYmFzZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBjb25z
dCBTdHJpbmcmIG5hbWUsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIExPRyhTdG9yYWdlQVBJ
LCAiSURCRmFjdG9yeTo6ZGVsZXRlRGF0YWJhc2UiKTsKLSAgICBIaXN0b2dyYW1TdXBwb3J0Ojpo
aXN0b2dyYW1FbnVtZXJhdGlvbigiV2ViQ29yZS5JbmRleGVkREIuRnJvbnRFbmRBUElDYWxscyIs
IElEQkRlbGV0ZURhdGFiYXNlQ2FsbCwgSURCTWV0aG9kc01heCk7CiAgICAgaWYgKG5hbWUuaXNO
dWxsKCkpIHsKICAgICAgICAgZWMgPSBUeXBlRXJyb3I7CiAgICAgICAgIHJldHVybiAwOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCSGlzdG9ncmFtcy5o
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCSGlzdG9ncmFtcy5oCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxZmYyYTM1Li4wMDAwMDAwCi0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkhpc3RvZ3JhbXMuaAorKysgL2Rldi9udWxsCkBA
IC0xLDQ1ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJl
IG1ldDoKLSAqCi0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiAgUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqIDMuICBOZWl0aGVyIHRoZSBu
YW1lIG9mIEFwcGxlIEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKLSAqICAgICBpdHMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkCi0gKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
R09PR0xFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQotICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRAotICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQotICogRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMKLSAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKLSAqIExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RAotICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgotICogVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
LSAqLwotCi0jaWZuZGVmIElEQkhpc3RvZ3JhbXNfaAotI2RlZmluZSBJREJIaXN0b2dyYW1zX2gK
LQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1lbnVtIEluZGV4ZWREYXRhYmFzZU1ldGhvZHMgewot
ICAgIElEQkNyZWF0ZU9iamVjdFN0b3JlQ2FsbCwKLSAgICBJREJEZWxldGVPYmplY3RTdG9yZUNh
bGwsCi0gICAgSURCVHJhbnNhY3Rpb25DYWxsLAotICAgIElEQkRlbGV0ZURhdGFiYXNlQ2FsbCwK
LSAgICBJREJPcGVuQ2FsbCwKLSAgICBJREJNZXRob2RzTWF4LAotfTsKLQotfQotCi0jZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2xldmVsZGIvSURC
QmFja2luZ1N0b3JlTGV2ZWxEQi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9sZXZlbGRiL0lEQkJhY2tpbmdTdG9yZUxldmVsREIuY3BwCmluZGV4IDMxOGFlOGIuLjVlMDAx
MGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2xldmVsZGIv
SURCQmFja2luZ1N0b3JlTGV2ZWxEQi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvbGV2ZWxkYi9JREJCYWNraW5nU3RvcmVMZXZlbERCLmNwcApAQCAtMjksNyArMjks
NiBAQAogI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKSAmJiBVU0UoTEVWRUxEQikKIAogI2lu
Y2x1ZGUgIkZpbGVTeXN0ZW0uaCIKLSNpbmNsdWRlICJIaXN0b2dyYW1TdXBwb3J0LmgiCiAjaW5j
bHVkZSAiSURCRGF0YWJhc2VNZXRhZGF0YS5oIgogI2luY2x1ZGUgIklEQkluZGV4V3JpdGVyTGV2
ZWxEQi5oIgogI2luY2x1ZGUgIklEQktleS5oIgpAQCAtNzcsMTkgKzc2LDEyIEBAIGVudW0gSURC
QmFja2luZ1N0b3JlTGV2ZWxEQkVycm9yU291cmNlIHsKICAgICBJREJMZXZlbERCQmFja2luZ1N0
b3JlSW50ZXJuYWxFcnJvck1heCwKIH07CiAKLXN0YXRpYyB2b2lkIHJlY29yZEludGVybmFsRXJy
b3IoY29uc3QgY2hhciogdHlwZSwgSURCQmFja2luZ1N0b3JlTGV2ZWxEQkVycm9yU291cmNlIGxv
Y2F0aW9uKQotewotICAgIFN0cmluZyBuYW1lID0gU3RyaW5nOjpmb3JtYXQoIldlYkNvcmUuSW5k
ZXhlZERCLkJhY2tpbmdTdG9yZS4lc0Vycm9yIiwgdHlwZSk7Ci0gICAgSGlzdG9ncmFtU3VwcG9y
dDo6aGlzdG9ncmFtRW51bWVyYXRpb24obmFtZS51dGY4KCkuZGF0YSgpLCBsb2NhdGlvbiwgSURC
TGV2ZWxEQkJhY2tpbmdTdG9yZUludGVybmFsRXJyb3JNYXgpOwotfQotCiAvLyBVc2UgdG8gc2ln
bmFsIGNvbmRpdGlvbnMgdGhhdCB1c3VhbGx5IGluZGljYXRlIGRldmVsb3BlciBlcnJvciwgYnV0
IGNvdWxkIGJlIGNhdXNlZCBieSBkYXRhIGNvcnJ1cHRpb24uCiAvLyBBIG1hY3JvIGlzIHVzZWQg
aW5zdGVhZCBvZiBhbiBpbmxpbmUgZnVuY3Rpb24gc28gdGhhdCB0aGUgYXNzZXJ0IGFuZCBsb2cg
cmVwb3J0IHRoZSBsaW5lIG51bWJlci4KICNkZWZpbmUgUkVQT1JUX0VSUk9SKHR5cGUsIGxvY2F0
aW9uKSBcCiAgICAgZG8geyBcCiAgICAgICAgIExPR19FUlJPUigiSW5kZXhlZERCICVzIEVycm9y
OiAlcyIsIHR5cGUsICNsb2NhdGlvbik7IFwKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
IFwKLSAgICAgICAgcmVjb3JkSW50ZXJuYWxFcnJvcih0eXBlLCBsb2NhdGlvbik7IFwKICAgICB9
IHdoaWxlICgwKQogCiAjZGVmaW5lIElOVEVSTkFMX1JFQURfRVJST1IobG9jYXRpb24pIFJFUE9S
VF9FUlJPUigiUmVhZCIsIGxvY2F0aW9uKQpAQCAtMzUxLDIxICszNDMsNiBAQCBJREJCYWNraW5n
U3RvcmVMZXZlbERCOjp+SURCQmFja2luZ1N0b3JlTGV2ZWxEQigpCiAgICAgbV9jb21wYXJhdG9y
ID0gbnVsbHB0cjsKIH0KIAotZW51bSBJREJMZXZlbERCQmFja2luZ1N0b3JlT3BlblJlc3VsdCB7
Ci0gICAgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZU9wZW5NZW1vcnlTdWNjZXNzLAotICAgIElEQkxl
dmVsREJCYWNraW5nU3RvcmVPcGVuU3VjY2VzcywKLSAgICBJREJMZXZlbERCQmFja2luZ1N0b3Jl
T3BlbkZhaWxlZERpcmVjdG9yeSwKLSAgICBJREJMZXZlbERCQmFja2luZ1N0b3JlT3BlbkZhaWxl
ZFVua25vd25TY2hlbWEsCi0gICAgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZU9wZW5DbGVhbnVwRGVz
dHJveUZhaWxlZCwKLSAgICBJREJMZXZlbERCQmFja2luZ1N0b3JlT3BlbkNsZWFudXBSZW9wZW5G
YWlsZWQsCi0gICAgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZU9wZW5DbGVhbnVwUmVvcGVuU3VjY2Vz
cywKLSAgICBJREJMZXZlbERCQmFja2luZ1N0b3JlT3BlbkZhaWxlZElPRXJyQ2hlY2tpbmdTY2hl
bWEsCi0gICAgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZU9wZW5GYWlsZWRVbmtub3duRXJyLAotICAg
IElEQkxldmVsREJCYWNraW5nU3RvcmVPcGVuTWVtb3J5RmFpbGVkLAotICAgIElEQkxldmVsREJC
YWNraW5nU3RvcmVPcGVuQXR0ZW1wdE5vbkFTQ0lJLAotICAgIElEQkxldmVsREJCYWNraW5nU3Rv
cmVPcGVuTWF4LAotfTsKLQogUGFzc1JlZlB0cjxJREJCYWNraW5nU3RvcmVMZXZlbERCPiBJREJC
YWNraW5nU3RvcmVMZXZlbERCOjpvcGVuKGNvbnN0IFNlY3VyaXR5T3JpZ2luJiBzZWN1cml0eU9y
aWdpbiwgY29uc3QgU3RyaW5nJiBwYXRoQmFzZUFyZywgY29uc3QgU3RyaW5nJiBmaWxlSWRlbnRp
ZmllcikKIHsKICAgICBEZWZhdWx0TGV2ZWxEQkZhY3RvcnkgbGV2ZWxEQkZhY3Rvcnk7CkBAIC0z
ODEsMTEgKzM1OCw4IEBAIFBhc3NSZWZQdHI8SURCQmFja2luZ1N0b3JlTGV2ZWxEQj4gSURCQmFj
a2luZ1N0b3JlTGV2ZWxEQjo6b3Blbihjb25zdCBTZWN1cml0eU9yCiAgICAgc3RkOjp1bmlxdWVf
cHRyPExldmVsREJDb21wYXJhdG9yPiBjb21wYXJhdG9yID0gc3RkOjptYWtlX3VuaXF1ZTxDb21w
YXJhdG9yPigpOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxMZXZlbERCRGF0YWJhc2U+IGRiOwogCi0g
ICAgaWYgKCFwYXRoQmFzZS5jb250YWluc09ubHlBU0NJSSgpKQotICAgICAgICAgICAgSGlzdG9n
cmFtU3VwcG9ydDo6aGlzdG9ncmFtRW51bWVyYXRpb24oIldlYkNvcmUuSW5kZXhlZERCLkJhY2tp
bmdTdG9yZS5PcGVuU3RhdHVzIiwgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZU9wZW5BdHRlbXB0Tm9u
QVNDSUksIElEQkxldmVsREJCYWNraW5nU3RvcmVPcGVuTWF4KTsKICAgICBpZiAoIW1ha2VBbGxE
aXJlY3RvcmllcyhwYXRoQmFzZSkpIHsKICAgICAgICAgTE9HX0VSUk9SKCJVbmFibGUgdG8gY3Jl
YXRlIEluZGV4ZWREQiBkYXRhYmFzZSBwYXRoICVzIiwgcGF0aEJhc2UudXRmOCgpLmRhdGEoKSk7
Ci0gICAgICAgIEhpc3RvZ3JhbVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJXZWJDb3Jl
LkluZGV4ZWREQi5CYWNraW5nU3RvcmUuT3BlblN0YXR1cyIsIElEQkxldmVsREJCYWNraW5nU3Rv
cmVPcGVuRmFpbGVkRGlyZWN0b3J5LCBJREJMZXZlbERCQmFja2luZ1N0b3JlT3Blbk1heCk7CiAg
ICAgICAgIHJldHVybiBQYXNzUmVmUHRyPElEQkJhY2tpbmdTdG9yZUxldmVsREI+KCk7CiAgICAg
fQogCkBAIC0zOTcsMjMgKzM3MSwxOCBAQCBQYXNzUmVmUHRyPElEQkJhY2tpbmdTdG9yZUxldmVs
REI+IElEQkJhY2tpbmdTdG9yZUxldmVsREI6Om9wZW4oY29uc3QgU2VjdXJpdHlPcgogICAgICAg
ICBib29sIG9rID0gaXNTY2hlbWFLbm93bihkYi5nZXQoKSwga25vd24pOwogICAgICAgICBpZiAo
IW9rKSB7CiAgICAgICAgICAgICBMT0dfRVJST1IoIkluZGV4ZWREQiBoYWQgSU8gZXJyb3IgY2hl
Y2tpbmcgc2NoZW1hLCB0cmVhdGluZyBpdCBhcyBmYWlsdXJlIHRvIG9wZW4iKTsKLSAgICAgICAg
ICAgIEhpc3RvZ3JhbVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJXZWJDb3JlLkluZGV4
ZWREQi5CYWNraW5nU3RvcmUuT3BlblN0YXR1cyIsIElEQkxldmVsREJCYWNraW5nU3RvcmVPcGVu
RmFpbGVkSU9FcnJDaGVja2luZ1NjaGVtYSwgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZU9wZW5NYXgp
OwogICAgICAgICAgICAgZGIgPSBudWxscHRyOwogICAgICAgICB9IGVsc2UgaWYgKCFrbm93bikg
ewogICAgICAgICAgICAgTE9HX0VSUk9SKCJJbmRleGVkREIgYmFja2luZyBzdG9yZSBoYWQgdW5r
bm93biBzY2hlbWEsIHRyZWF0aW5nIGl0IGFzIGZhaWx1cmUgdG8gb3BlbiIpOwotICAgICAgICAg
ICAgSGlzdG9ncmFtU3VwcG9ydDo6aGlzdG9ncmFtRW51bWVyYXRpb24oIldlYkNvcmUuSW5kZXhl
ZERCLkJhY2tpbmdTdG9yZS5PcGVuU3RhdHVzIiwgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZU9wZW5G
YWlsZWRVbmtub3duU2NoZW1hLCBJREJMZXZlbERCQmFja2luZ1N0b3JlT3Blbk1heCk7CiAgICAg
ICAgICAgICBkYiA9IG51bGxwdHI7CiAgICAgICAgIH0KICAgICB9CiAKLSAgICBpZiAoZGIpCi0g
ICAgICAgIEhpc3RvZ3JhbVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJXZWJDb3JlLklu
ZGV4ZWREQi5CYWNraW5nU3RvcmUuT3BlblN0YXR1cyIsIElEQkxldmVsREJCYWNraW5nU3RvcmVP
cGVuU3VjY2VzcywgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZU9wZW5NYXgpOwotICAgIGVsc2Ugewor
ICAgIGlmICghZGIpIHsKICAgICAgICAgTE9HX0VSUk9SKCJJbmRleGVkREIgYmFja2luZyBzdG9y
ZSBvcGVuIGZhaWxlZCwgYXR0ZW1wdGluZyBjbGVhbnVwIik7CiAgICAgICAgIGJvb2wgc3VjY2Vz
cyA9IGxldmVsREJGYWN0b3J5LT5kZXN0cm95TGV2ZWxEQihwYXRoKTsKICAgICAgICAgaWYgKCFz
dWNjZXNzKSB7CiAgICAgICAgICAgICBMT0dfRVJST1IoIkluZGV4ZWREQiBiYWNraW5nIHN0b3Jl
IGNsZWFudXAgZmFpbGVkIik7Ci0gICAgICAgICAgICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dy
YW1FbnVtZXJhdGlvbigiV2ViQ29yZS5JbmRleGVkREIuQmFja2luZ1N0b3JlLk9wZW5TdGF0dXMi
LCBJREJMZXZlbERCQmFja2luZ1N0b3JlT3BlbkNsZWFudXBEZXN0cm95RmFpbGVkLCBJREJMZXZl
bERCQmFja2luZ1N0b3JlT3Blbk1heCk7CiAgICAgICAgICAgICByZXR1cm4gUGFzc1JlZlB0cjxJ
REJCYWNraW5nU3RvcmVMZXZlbERCPigpOwogICAgICAgICB9CiAKQEAgLTQyMSwxNSArMzkwLDEy
IEBAIFBhc3NSZWZQdHI8SURCQmFja2luZ1N0b3JlTGV2ZWxEQj4gSURCQmFja2luZ1N0b3JlTGV2
ZWxEQjo6b3Blbihjb25zdCBTZWN1cml0eU9yCiAgICAgICAgIGRiID0gbGV2ZWxEQkZhY3Rvcnkt
Pm9wZW5MZXZlbERCKHBhdGgsIGNvbXBhcmF0b3IuZ2V0KCkpOwogICAgICAgICBpZiAoIWRiKSB7
CiAgICAgICAgICAgICBMT0dfRVJST1IoIkluZGV4ZWREQiBiYWNraW5nIHN0b3JlIHJlb3BlbiBh
ZnRlciByZWNvdmVyeSBmYWlsZWQiKTsKLSAgICAgICAgICAgIEhpc3RvZ3JhbVN1cHBvcnQ6Omhp
c3RvZ3JhbUVudW1lcmF0aW9uKCJXZWJDb3JlLkluZGV4ZWREQi5CYWNraW5nU3RvcmUuT3BlblN0
YXR1cyIsIElEQkxldmVsREJCYWNraW5nU3RvcmVPcGVuQ2xlYW51cFJlb3BlbkZhaWxlZCwgSURC
TGV2ZWxEQkJhY2tpbmdTdG9yZU9wZW5NYXgpOwogICAgICAgICAgICAgcmV0dXJuIFBhc3NSZWZQ
dHI8SURCQmFja2luZ1N0b3JlTGV2ZWxEQj4oKTsKICAgICAgICAgfQotICAgICAgICBIaXN0b2dy
YW1TdXBwb3J0OjpoaXN0b2dyYW1FbnVtZXJhdGlvbigiV2ViQ29yZS5JbmRleGVkREIuQmFja2lu
Z1N0b3JlLk9wZW5TdGF0dXMiLCBJREJMZXZlbERCQmFja2luZ1N0b3JlT3BlbkNsZWFudXBSZW9w
ZW5TdWNjZXNzLCBJREJMZXZlbERCQmFja2luZ1N0b3JlT3Blbk1heCk7CiAgICAgfQogCiAgICAg
aWYgKCFkYikgewogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgSGlzdG9n
cmFtU3VwcG9ydDo6aGlzdG9ncmFtRW51bWVyYXRpb24oIldlYkNvcmUuSW5kZXhlZERCLkJhY2tp
bmdTdG9yZS5PcGVuU3RhdHVzIiwgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZU9wZW5GYWlsZWRVbmtu
b3duRXJyLCBJREJMZXZlbERCQmFja2luZ1N0b3JlT3Blbk1heCk7CiAgICAgICAgIHJldHVybiBQ
YXNzUmVmUHRyPElEQkJhY2tpbmdTdG9yZUxldmVsREI+KCk7CiAgICAgfQogCkBAIC00NTAsMTAg
KzQxNiw4IEBAIFBhc3NSZWZQdHI8SURCQmFja2luZ1N0b3JlTGV2ZWxEQj4gSURCQmFja2luZ1N0
b3JlTGV2ZWxEQjo6b3BlbkluTWVtb3J5KGNvbnN0IFN0CiAgICAgc3RkOjp1bmlxdWVfcHRyPExl
dmVsREJEYXRhYmFzZT4gZGIgPSBMZXZlbERCRGF0YWJhc2U6Om9wZW5Jbk1lbW9yeShjb21wYXJh
dG9yLmdldCgpKTsKICAgICBpZiAoIWRiKSB7CiAgICAgICAgIExPR19FUlJPUigiTGV2ZWxEQkRh
dGFiYXNlOjpvcGVuSW5NZW1vcnkgZmFpbGVkLiIpOwotICAgICAgICBIaXN0b2dyYW1TdXBwb3J0
OjpoaXN0b2dyYW1FbnVtZXJhdGlvbigiV2ViQ29yZS5JbmRleGVkREIuQmFja2luZ1N0b3JlLk9w
ZW5TdGF0dXMiLCBJREJMZXZlbERCQmFja2luZ1N0b3JlT3Blbk1lbW9yeUZhaWxlZCwgSURCTGV2
ZWxEQkJhY2tpbmdTdG9yZU9wZW5NYXgpOwogICAgICAgICByZXR1cm4gUGFzc1JlZlB0cjxJREJC
YWNraW5nU3RvcmVMZXZlbERCPigpOwogICAgIH0KLSAgICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0
b2dyYW1FbnVtZXJhdGlvbigiV2ViQ29yZS5JbmRleGVkREIuQmFja2luZ1N0b3JlLk9wZW5TdGF0
dXMiLCBJREJMZXZlbERCQmFja2luZ1N0b3JlT3Blbk1lbW9yeVN1Y2Nlc3MsIElEQkxldmVsREJC
YWNraW5nU3RvcmVPcGVuTWF4KTsKIAogICAgIHJldHVybiBjcmVhdGUoaWRlbnRpZmllciwgc3Rk
Ojptb3ZlKGRiKSwgc3RkOjptb3ZlKGNvbXBhcmF0b3IpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2xldmVsZGIvSURCQmFja2luZ1N0b3JlVHJhbnNh
Y3Rpb25MZXZlbERCLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2xldmVs
ZGIvSURCQmFja2luZ1N0b3JlVHJhbnNhY3Rpb25MZXZlbERCLmNwcAppbmRleCBhN2E1ZjY2Li5i
ZWRiYjRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9sZXZl
bGRiL0lEQkJhY2tpbmdTdG9yZVRyYW5zYWN0aW9uTGV2ZWxEQi5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvbGV2ZWxkYi9JREJCYWNraW5nU3RvcmVUcmFuc2FjdGlv
bkxldmVsREIuY3BwCkBAIC0yOCw3ICsyOCw2IEBACiAKICNpZiBFTkFCTEUoSU5ERVhFRF9EQVRB
QkFTRSkgJiYgVVNFKExFVkVMREIpCiAKLSNpbmNsdWRlICJIaXN0b2dyYW1TdXBwb3J0LmgiCiAj
aW5jbHVkZSAiSURCQmFja2luZ1N0b3JlTGV2ZWxEQi5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIK
ICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagppbmRleCBmMTAyOTMzLi5kYzIyNDBhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKQEAgLTc0NDIs
NyArNzQ0Miw2IEBACiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25m
aWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z19XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNs
dWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENv
bmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98eDY0JyI+dHJ1ZTwv
RXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlxwbGF0Zm9ybVxIaXN0b2dyYW1TdXBwb3J0LmNwcCIgLz4KICAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXHdpblxNZWRpYVBsYXllclByaXZhdGVNZWRp
YUZvdW5kYXRpb24uY3BwIj4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249Iick
KENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+dHJ1ZTwvRXhjbHVk
ZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25m
aWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KQEAgLTE5MjI2LDcgKzE5MjI1LDYgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XHBsYXRmb3JtXGdyYXBoaWNzXFZpZGVvVHJhY2tQcml2YXRlLmgiIC8+CiAgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1x3aW5cTWVkaWFQbGF5ZXJQcml2YXRlTWVk
aWFGb3VuZGF0aW9uLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxn
cmFwaGljc1x3aW5cU2hhcmVkR0RJT2JqZWN0LmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxwbGF0Zm9ybVxIaXN0b2dyYW1TdXBwb3J0LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxwbGF0Zm9ybVxIb3N0V2luZG93LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxwbGF0Zm9ybVxLZXlwcmVzc0NvbW1hbmQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXHBsYXRmb3JtXEtpbGxSaW5nLmgiIC8+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKaW5kZXggZDJmYWJhZS4u
ZjdmNzhiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNv
cmUudmN4cHJvai5maWx0ZXJzCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9X
ZWJDb3JlLnZjeHByb2ouZmlsdGVycwpAQCAtMTA4OSw5ICsxMDg5LDYgQEAKICAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXEZpbGVTeXN0ZW0uY3BwIj4KICAgICAgIDxGaWx0ZXI+
cGxhdGZvcm08L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1
ZGU9Ii4uXHBsYXRmb3JtXEhpc3RvZ3JhbVN1cHBvcnQuY3BwIj4KLSAgICAgIDxGaWx0ZXI+cGxh
dGZvcm08L0ZpbHRlcj4KLSAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9
Ii4uXHBsYXRmb3JtXEtpbGxSaW5nTm9uZS5jcHAiPgogICAgICAgPEZpbHRlcj5wbGF0Zm9ybTwv
RmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgpAQCAtODAzOCw5ICs4MDM1LDYgQEAKICAgICA8Q2xJ
bmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXEZsb2F0Q29udmVyc2lvbi5oIj4KICAgICAgIDxG
aWx0ZXI+cGxhdGZvcm08L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KLSAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXHBsYXRmb3JtXEhpc3RvZ3JhbVN1cHBvcnQuaCI+Ci0gICAgICA8RmlsdGVy
PnBsYXRmb3JtPC9GaWx0ZXI+Ci0gICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxwbGF0Zm9ybVxIb3N0V2luZG93LmgiPgogICAgICAgPEZpbHRlcj5wbGF0Zm9ybTwv
RmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDA0OTcxMzEuLjI2NTg3ZWMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE5
MzAsNyArMTkzMCw2IEBACiAJCTUxRDcxOUQzMTgxMTA2RTAwMDE2REM1MSAvKiBJREJGYWN0b3J5
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUQ3MTk4
OTE4MTEwNkRGMDAxNkRDNTEgLyogSURCRmFjdG9yeS5oICovOyB9OwogCQk1MUQ3MTlENTE4MTEw
NkUwMDAxNkRDNTEgLyogSURCRmFjdG9yeUJhY2tlbmRJbnRlcmZhY2UuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFENzE5OEIxODExMDZERjAwMTZE
QzUxIC8qIElEQkZhY3RvcnlCYWNrZW5kSW50ZXJmYWNlLmNwcCAqLzsgfTsKIAkJNTFENzE5RDYx
ODExMDZFMDAwMTZEQzUxIC8qIElEQkZhY3RvcnlCYWNrZW5kSW50ZXJmYWNlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUQ3MTk4QzE4MTEwNkUwMDAx
NkRDNTEgLyogSURCRmFjdG9yeUJhY2tlbmRJbnRlcmZhY2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk1MUQ3MTlENzE4MTEwNkUwMDAxNkRDNTEg
LyogSURCSGlzdG9ncmFtcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNTFENzE5OEQxODExMDZFMDAwMTZEQzUxIC8qIElEQkhpc3RvZ3JhbXMuaCAqLzsg
fTsKIAkJNTFENzE5RDgxODExMDZFMDAwMTZEQzUxIC8qIElEQkluZGV4LmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRDcxOThFMTgxMTA2RTAwMDE2
REM1MSAvKiBJREJJbmRleC5jcHAgKi87IH07CiAJCTUxRDcxOUQ5MTgxMTA2RTAwMDE2REM1MSAv
KiBJREJJbmRleC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNTFENzE5OEYxODExMDZFMDAwMTZEQzUxIC8qIElEQkluZGV4LmggKi87IH07CiAJCTUxRDcx
OURCMTgxMTA2RTAwMDE2REM1MSAvKiBJREJLZXkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFENzE5OTExODExMDZFMDAwMTZEQzUxIC8qIElEQktl
eS5jcHAgKi87IH07CkBAIC01NzU0LDcgKzU3NTMsNiBAQAogCQlENkU1MjhBMzE0OUE5MjZEMDBF
RkUxRjMgLyogTXV0YXRpb25PYnNlcnZlckludGVyZXN0R3JvdXAuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRDZFNTI4QTExNDlBOTI2RDAwRUZFMUYz
IC8qIE11dGF0aW9uT2JzZXJ2ZXJJbnRlcmVzdEdyb3VwLmNwcCAqLzsgfTsKIAkJRDZFNTI4QTQx
NDlBOTI2RDAwRUZFMUYzIC8qIE11dGF0aW9uT2JzZXJ2ZXJJbnRlcmVzdEdyb3VwLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBENkU1MjhBMjE0OUE5MjZE
MDBFRkUxRjMgLyogTXV0YXRpb25PYnNlcnZlckludGVyZXN0R3JvdXAuaCAqLzsgfTsKIAkJRDZG
Nzk2MEQxNjZGRkVDRTAwNzZERDE4IC8qIEpTSFRNTFRlbXBsYXRlRWxlbWVudEN1c3RvbS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBENkY3OTYwQzE2
NkZGRUNFMDA3NkREMTggLyogSlNIVE1MVGVtcGxhdGVFbGVtZW50Q3VzdG9tLmNwcCAqLzsgfTsK
LQkJRDZGREFFRjMxNDlDMDYxOTAwMzdCMUUxIC8qIEhpc3RvZ3JhbVN1cHBvcnQuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRDZGREFFRjIxNDlDMDYx
OTAwMzdCMUUxIC8qIEhpc3RvZ3JhbVN1cHBvcnQuY3BwICovOyB9OwogCQlENzBBRDY1NzEzRTEz
NDJCMDA1QjUwQjQgLyogUmVuZGVyUmVnaW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQ3MEFENjU1MTNFMTM0MkIwMDVCNTBCNCAvKiBSZW5kZXJS
ZWdpb24uY3BwICovOyB9OwogCQlENzBBRDY1ODEzRTEzNDJCMDA1QjUwQjQgLyogUmVuZGVyUmVn
aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBENzBB
RDY1NjEzRTEzNDJCMDA1QjUwQjQgLyogUmVuZGVyUmVnaW9uLmggKi87IH07CiAJCUQ3MkY2RDc5
MTUzMTU5QTMwMDFFRTQ0RSAvKiBGbG93VGhyZWFkQ29udHJvbGxlci5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBENzJGNkQ3NzE1MzE1OUEzMDAxRUU0
NEUgLyogRmxvd1RocmVhZENvbnRyb2xsZXIuY3BwICovOyB9OwpAQCAtODkzNSw3ICs4OTMzLDYg
QEAKIAkJNTFENzE5OEExODExMDZERjAwMTZEQzUxIC8qIElEQkZhY3RvcnkuaWRsICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dDsgcGF0aCA9IElEQkZhY3RvcnkuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1MUQ3MTk4QjE4MTEwNkRGMDAxNkRDNTEgLyogSURCRmFjdG9yeUJhY2tlbmRJbnRlcmZh
Y2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSURCRmFjdG9yeUJh
Y2tlbmRJbnRlcmZhY2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MUQ3MTk4
QzE4MTEwNkUwMDAxNkRDNTEgLyogSURCRmFjdG9yeUJhY2tlbmRJbnRlcmZhY2UuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSURCRmFjdG9yeUJhY2tlbmRJbnRlcmZhY2UuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNTFENzE5OEQxODExMDZFMDAwMTZEQzUxIC8q
IElEQkhpc3RvZ3JhbXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSURCSGlz
dG9ncmFtcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MUQ3MTk4RTE4MTEwNkUw
MDAxNkRDNTEgLyogSURCSW5kZXguY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSURCSW5kZXguY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MUQ3MTk4
RjE4MTEwNkUwMDAxNkRDNTEgLyogSURCSW5kZXguaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSURCSW5kZXguaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTFENzE5
OTAxODExMDZFMDAwMTZEQzUxIC8qIElEQkluZGV4LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSBJREJJbmRleC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMzEzMiw3ICsx
MzEyOSw2IEBACiAJCUQzRDRFOTcxMTMwQzdDRkUwMDdCQTU0MCAvKiBIVE1MU3VtbWFyeUVsZW1l
bnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSFRNTFN1bW1hcnlFbGVtZW50
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQ2MTlBMzA1MTQ0RTAwQkUwMDRCQzMw
MiAvKiBDaGlsZExpc3RNdXRhdGlvblNjb3BlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IENoaWxkTGlzdE11dGF0aW9uU2NvcGUuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlENjE5QTMwNjE0NEUwMEJFMDA0QkMzMDIgLyogQ2hpbGRMaXN0TXV0YXRp
b25TY29wZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDaGlsZExpc3RNdXRh
dGlvblNjb3BlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUQ2MzBFMkFCMTQ5QkYz
NDQwMDVCMkY5MyAvKiBIaXN0b2dyYW1TdXBwb3J0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEhpc3RvZ3JhbVN1cHBvcnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJRDY0ODlEMjMxNjZGRkNGMTAwN0MwMzFCIC8qIEpTSFRNTFRlbXBsYXRlRWxlbWVudC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0hUTUxUZW1wbGF0ZUVsZW1l
bnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlENjQ4OUQyNDE2NkZGQ0YxMDA3
QzAzMUIgLyogSlNIVE1MVGVtcGxhdGVFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEpTSFRNTFRlbXBsYXRlRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlENjZCMkQ1QjE4NjgzMDA1MDA3M0M0REQgLyogUGxhdGZvcm1DQUZpbHRlcnNNYWMu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gUGxhdGZvcm1DQUZpbHRlcnNNYWMu
aDsgcGF0aCA9IGNhL21hYy9QbGF0Zm9ybUNBRmlsdGVyc01hYy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtMTMxNDQsNyArMTMxNDAsNiBAQAogCQlENkVGQzBCQzE2NjZERjdBMDAz
RDI5MUUgLyogSFRNTFRlbXBsYXRlRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBIVE1MVGVtcGxhdGVFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUQ2RUZDMEJEMTY2NkRGN0EwMDNEMjkxRSAvKiBIVE1MVGVtcGxhdGVFbGVtZW50LmlkbCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQ7IHBhdGggPSBIVE1MVGVtcGxhdGVFbGVtZW50LmlkbDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDZGNzk2MEMxNjZGRkVDRTAwNzZERDE4IC8qIEpTSFRNTFRl
bXBsYXRlRWxlbWVudEN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU0hUTUxUZW1wbGF0ZUVsZW1lbnRDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwotCQlENkZEQUVGMjE0OUMwNjE5MDAzN0IxRTEgLyogSGlzdG9ncmFtU3VwcG9ydC5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBIaXN0b2dyYW1TdXBwb3J0
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDcwQUQ2NTUxM0UxMzQyQjAwNUI1
MEI0IC8qIFJlbmRlclJlZ2lvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBSZW5kZXJSZWdpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlENzBB
RDY1NjEzRTEzNDJCMDA1QjUwQjQgLyogUmVuZGVyUmVnaW9uLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFJlbmRlclJlZ2lvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlENzJGNkQ3NzE1MzE1OUEzMDAxRUU0NEUgLyogRmxvd1RocmVhZENvbnRyb2xsZXIuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRmxvd1RocmVhZENvbnRyb2xs
ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTc4MDQsNyArMTc3OTksNiBA
QAogCQkJCTUxRDcxOThCMTgxMTA2REYwMDE2REM1MSAvKiBJREJGYWN0b3J5QmFja2VuZEludGVy
ZmFjZS5jcHAgKi8sCiAJCQkJNTFENzE5OEMxODExMDZFMDAwMTZEQzUxIC8qIElEQkZhY3RvcnlC
YWNrZW5kSW50ZXJmYWNlLmggKi8sCiAJCQkJNTEyM0FGMUMxODkxOEFFNDAwMzFDREM5IC8qIElE
QkdldFJlc3VsdC5oICovLAotCQkJCTUxRDcxOThEMTgxMTA2RTAwMDE2REM1MSAvKiBJREJIaXN0
b2dyYW1zLmggKi8sCiAJCQkJNTFENzE5OEUxODExMDZFMDAwMTZEQzUxIC8qIElEQkluZGV4LmNw
cCAqLywKIAkJCQk1MUQ3MTk4RjE4MTEwNkUwMDAxNkRDNTEgLyogSURCSW5kZXguaCAqLywKIAkJ
CQk1MUQ3MTk5MDE4MTEwNkUwMDAxNkRDNTEgLyogSURCSW5kZXguaWRsICovLApAQCAtMjEwMjgs
OCArMjEwMjIsNiBAQAogCQkJCTUxNEIzRjcyMEM3MjIwNDcwMDA1MzBERiAvKiBGaWxlU3lzdGVt
LmggKi8sCiAJCQkJQkMwNzNCQTkwQzM5OUIxRjAwMEY1OTc5IC8qIEZsb2F0Q29udmVyc2lvbi5o
ICovLAogCQkJCUE4NzQ4QkRGMTJDQkYyREMwMDFGQkE0MSAvKiBIYXNoVG9vbHMuaCAqLywKLQkJ
CQlENkZEQUVGMjE0OUMwNjE5MDAzN0IxRTEgLyogSGlzdG9ncmFtU3VwcG9ydC5jcHAgKi8sCi0J
CQkJRDYzMEUyQUIxNDlCRjM0NDAwNUIyRjkzIC8qIEhpc3RvZ3JhbVN1cHBvcnQuaCAqLywKIAkJ
CQlCQzNCQzI5QjBFOTFBQjBGMDA4MzU1ODggLyogSG9zdFdpbmRvdy5oICovLAogCQkJCTg2MkYx
MjlGMThDMURDRTQwMDVDNTRBRiAvKiBIeXN0ZXJlc2lzQWN0aXZpdHkuaCAqLywKIAkJCQlFMTVG
RjdENDE4Qzk1NTM4MDBGRTRDODcgLyogS2V5cHJlc3NDb21tYW5kLmggKi8sCkBAIC0yNDE4Nyw3
ICsyNDE3OSw2IEBACiAJCQkJNTFENzE5RDYxODExMDZFMDAwMTZEQzUxIC8qIElEQkZhY3RvcnlC
YWNrZW5kSW50ZXJmYWNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTY2MEFCOTE4MjhCQjgyMDAw
NzRDQUQgLyogSURCRmFjdG9yeUJhY2tlbmRMZXZlbERCLmggaW4gSGVhZGVycyAqLywKIAkJCQk1
MTIzQUYxRDE4OTE4QUU0MDAzMUNEQzkgLyogSURCR2V0UmVzdWx0LmggaW4gSGVhZGVycyAqLywK
LQkJCQk1MUQ3MTlENzE4MTEwNkUwMDAxNkRDNTEgLyogSURCSGlzdG9ncmFtcy5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNTFENzE5RDkxODExMDZFMDAwMTZEQzUxIC8qIElEQkluZGV4LmggaW4gSGVh
ZGVycyAqLywKIAkJCQk1MUFCQjVCODE4NkQwRUQxMDA4MzkxQTEgLyogSURCSW5kZXhNZXRhZGF0
YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEwMTk0NDExODM2RDIwODAwOTI1NTIzIC8qIElEQklu
ZGV4V3JpdGVyTGV2ZWxEQi5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzQ1Miw3ICsyNzQ0Myw2IEBA
CiAJCQkJQjJBMDE1QUEwQUY2Q0Q1MzAwNkJDRTBFIC8qIEdyYXBoaWNzVHlwZXMuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJQzUwQjU2MTYxMjExOUQyMzAwOEI0NkUwIC8qIEdyb3VwU2V0dGluZ3Mu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRjU1QjNEQkYxMjUxRjEyRDAwM0VGMjY5IC8qIEhpZGRl
bklucHV0VHlwZS5jcHAgaW4gU291cmNlcyAqLywKLQkJCQlENkZEQUVGMzE0OUMwNjE5MDAzN0Ix
RTEgLyogSGlzdG9ncmFtU3VwcG9ydC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzk0RDE1MzBD
Mjc1QzhCMDA2QkM2MTcgLyogSGlzdG9yeS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5N0RDRTIw
MTEwODA3Qzc1MDA1N0QzOTQgLyogSGlzdG9yeUNvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJNTE3NDFEMTIwQjA3MjU5QTAwRUQ0NDJDIC8qIEhpc3RvcnlJdGVtLmNwcCBpbiBTb3Vy
Y2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAppbmRleCA5NmNhYWU2Li43NzYzMmJkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcApAQCAtNjIsNyArNjIsNiBAQAogI2luY2x1ZGUgIkZs
b2F0Q29udmVyc2lvbi5oIgogI2luY2x1ZGUgIkhUTUxQYXJzZXJJZGlvbXMuaCIKICNpbmNsdWRl
ICJIYXNoVG9vbHMuaCIKLSNpbmNsdWRlICJIaXN0b2dyYW1TdXBwb3J0LmgiCiAjaW5jbHVkZSAi
TWVkaWFMaXN0LmgiCiAjaW5jbHVkZSAiTWVkaWFRdWVyeUV4cC5oIgogI2luY2x1ZGUgIlBhZ2Uu
aCIKQEAgLTExOTM4LDE2ICsxMTkzNyw3IEBAIHN0YXRpYyBDU1NQcm9wZXJ0eUlEIGNzc1Byb3Bl
cnR5SUQoY29uc3QgQ2hhcmFjdGVyVHlwZSogcHJvcGVydHlOYW1lLCB1bnNpZ25lZCBsCiAgICAg
fQogCiAgICAgY29uc3QgUHJvcGVydHkqIGhhc2hUYWJsZUVudHJ5ID0gZmluZFByb3BlcnR5KG5h
bWUsIGxlbmd0aCk7Ci0gICAgY29uc3QgQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlEID0gaGFzaFRh
YmxlRW50cnkgPyBzdGF0aWNfY2FzdDxDU1NQcm9wZXJ0eUlEPihoYXNoVGFibGVFbnRyeS0+aWQp
IDogQ1NTUHJvcGVydHlJbnZhbGlkOwotCi0gICAgc3RhdGljIGNvbnN0IGludCBjc3NQcm9wZXJ0
eUhpc3RvZ3JhbVNpemUgPSBudW1DU1NQcm9wZXJ0aWVzOwotICAgIGlmIChoYXNQcmVmaXgoYnVm
ZmVyLCBsZW5ndGgsICItd2Via2l0LSIpICYmIHByb3BlcnR5SUQgIT0gQ1NTUHJvcGVydHlJbnZh
bGlkKSB7Ci0gICAgICAgIGludCBoaXN0b2dyYW1WYWx1ZSA9IHByb3BlcnR5SUQgLSBmaXJzdENT
U1Byb3BlcnR5OwotICAgICAgICBBU1NFUlQoMCA8PSBoaXN0b2dyYW1WYWx1ZSAmJiBoaXN0b2dy
YW1WYWx1ZSA8IGNzc1Byb3BlcnR5SGlzdG9ncmFtU2l6ZSk7Ci0gICAgICAgIEhpc3RvZ3JhbVN1
cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJDU1MuUHJlZml4VXNhZ2UiLCBoaXN0b2dyYW1W
YWx1ZSwgY3NzUHJvcGVydHlIaXN0b2dyYW1TaXplKTsKLSAgICB9Ci0KLSAgICByZXR1cm4gcHJv
cGVydHlJRDsKKyAgICByZXR1cm4gaGFzaFRhYmxlRW50cnkgPyBzdGF0aWNfY2FzdDxDU1NQcm9w
ZXJ0eUlEPihoYXNoVGFibGVFbnRyeS0+aWQpIDogQ1NTUHJvcGVydHlJbnZhbGlkOwogfQogCiBD
U1NQcm9wZXJ0eUlEIGNzc1Byb3BlcnR5SUQoY29uc3QgU3RyaW5nJiBzdHJpbmcpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmNwcAppbmRleCAxNTIwZWIzLi4zZWZmMDQ0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5jcHAKQEAgLTg1LDcgKzg1LDYgQEAKICNpbmNsdWRlICJIVE1MVGl0bGVFbGVtZW50LmgiCiAj
aW5jbHVkZSAiSFRUUFBhcnNlcnMuaCIKICNpbmNsdWRlICJIYXNoQ2hhbmdlRXZlbnQuaCIKLSNp
bmNsdWRlICJIaXN0b2dyYW1TdXBwb3J0LmgiCiAjaW5jbHVkZSAiSGlzdG9yeS5oIgogI2luY2x1
ZGUgIkhpdFRlc3RSZXN1bHQuaCIKICNpbmNsdWRlICJJY29uQ29udHJvbGxlci5oIgpAQCAtNTQ3
LDE2ICs1NDYsNiBAQCBEb2N1bWVudDo6RG9jdW1lbnQoRnJhbWUqIGZyYW1lLCBjb25zdCBVUkwm
IHVybCwgdW5zaWduZWQgZG9jdW1lbnRDbGFzc2VzLCB1bnNpZwogICAgICAgICBtX25vZGVMaXN0
QW5kQ29sbGVjdGlvbkNvdW50c1tpXSA9IDA7CiB9CiAKLXN0YXRpYyB2b2lkIGhpc3RvZ3JhbU11
dGF0aW9uRXZlbnRVc2FnZShjb25zdCB1bnNpZ25lZCBzaG9ydCYgbGlzdGVuZXJUeXBlcykKLXsK
LSAgICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1FbnVtZXJhdGlvbigiRE9NQVBJLlBlckRv
Y3VtZW50TXV0YXRpb25FdmVudFVzYWdlLkRPTVN1YnRyZWVNb2RpZmllZCIsIHN0YXRpY19jYXN0
PGJvb2w+KGxpc3RlbmVyVHlwZXMgJiBEb2N1bWVudDo6RE9NU1VCVFJFRU1PRElGSUVEX0xJU1RF
TkVSKSwgMik7Ci0gICAgSGlzdG9ncmFtU3VwcG9ydDo6aGlzdG9ncmFtRW51bWVyYXRpb24oIkRP
TUFQSS5QZXJEb2N1bWVudE11dGF0aW9uRXZlbnRVc2FnZS5ET01Ob2RlSW5zZXJ0ZWQiLCBzdGF0
aWNfY2FzdDxib29sPihsaXN0ZW5lclR5cGVzICYgRG9jdW1lbnQ6OkRPTU5PREVJTlNFUlRFRF9M
SVNURU5FUiksIDIpOwotICAgIEhpc3RvZ3JhbVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9u
KCJET01BUEkuUGVyRG9jdW1lbnRNdXRhdGlvbkV2ZW50VXNhZ2UuRE9NTm9kZVJlbW92ZWQiLCBz
dGF0aWNfY2FzdDxib29sPihsaXN0ZW5lclR5cGVzICYgRG9jdW1lbnQ6OkRPTU5PREVSRU1PVkVE
X0xJU1RFTkVSKSwgMik7Ci0gICAgSGlzdG9ncmFtU3VwcG9ydDo6aGlzdG9ncmFtRW51bWVyYXRp
b24oIkRPTUFQSS5QZXJEb2N1bWVudE11dGF0aW9uRXZlbnRVc2FnZS5ET01Ob2RlUmVtb3ZlZEZy
b21Eb2N1bWVudCIsIHN0YXRpY19jYXN0PGJvb2w+KGxpc3RlbmVyVHlwZXMgJiBEb2N1bWVudDo6
RE9NTk9ERVJFTU9WRURGUk9NRE9DVU1FTlRfTElTVEVORVIpLCAyKTsKLSAgICBIaXN0b2dyYW1T
dXBwb3J0OjpoaXN0b2dyYW1FbnVtZXJhdGlvbigiRE9NQVBJLlBlckRvY3VtZW50TXV0YXRpb25F
dmVudFVzYWdlLkRPTU5vZGVJbnNlcnRlZEludG9Eb2N1bWVudCIsIHN0YXRpY19jYXN0PGJvb2w+
KGxpc3RlbmVyVHlwZXMgJiBEb2N1bWVudDo6RE9NTk9ERUlOU0VSVEVESU5UT0RPQ1VNRU5UX0xJ
U1RFTkVSKSwgMik7Ci0gICAgSGlzdG9ncmFtU3VwcG9ydDo6aGlzdG9ncmFtRW51bWVyYXRpb24o
IkRPTUFQSS5QZXJEb2N1bWVudE11dGF0aW9uRXZlbnRVc2FnZS5ET01DaGFyYWN0ZXJEYXRhTW9k
aWZpZWQiLCBzdGF0aWNfY2FzdDxib29sPihsaXN0ZW5lclR5cGVzICYgRG9jdW1lbnQ6OkRPTUNI
QVJBQ1RFUkRBVEFNT0RJRklFRF9MSVNURU5FUiksIDIpOwotfQotCiAjaWYgRU5BQkxFKEZVTExT
Q1JFRU5fQVBJKQogc3RhdGljIGJvb2wgaXNBdHRyaWJ1dGVPbkFsbE93bmVycyhjb25zdCBXZWJD
b3JlOjpRdWFsaWZpZWROYW1lJiBhdHRyaWJ1dGUsIGNvbnN0IFdlYkNvcmU6OlF1YWxpZmllZE5h
bWUmIHByZWZpeGVkQXR0cmlidXRlLCBjb25zdCBIVE1MRnJhbWVPd25lckVsZW1lbnQqIG93bmVy
KQogewpAQCAtNjAzLDggKzU5Miw2IEBAIERvY3VtZW50Ojp+RG9jdW1lbnQoKQogCiAgICAgbV9z
Y3JpcHRSdW5uZXIgPSBudWxscHRyOwogCi0gICAgaGlzdG9ncmFtTXV0YXRpb25FdmVudFVzYWdl
KG1fbGlzdGVuZXJUeXBlcyk7Ci0KICAgICByZW1vdmVBbGxFdmVudExpc3RlbmVycygpOwogCiAg
ICAgLy8gQ3VycmVudGx5IHdlIGJlbGlldmUgdGhhdCBEb2N1bWVudCBjYW4gbmV2ZXIgb3V0bGl2
ZSB0aGUgcGFyc2VyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3Qu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuY3BwCmluZGV4IGE0YjQ5ZDcuLjVi
ZmViNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5jcHAKQEAgLTI4LDcgKzI4LDYgQEAKICNp
bmNsdWRlICJTaGFkb3dSb290LmgiCiAKICNpbmNsdWRlICJFbGVtZW50VHJhdmVyc2FsLmgiCi0j
aW5jbHVkZSAiSGlzdG9ncmFtU3VwcG9ydC5oIgogI2luY2x1ZGUgIkluc2VydGlvblBvaW50Lmgi
CiAjaW5jbHVkZSAiUmVuZGVyRWxlbWVudC5oIgogI2luY2x1ZGUgIlJ1bnRpbWVFbmFibGVkRmVh
dHVyZXMuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvQmxvYi5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9maWxlYXBpL0Jsb2IuY3BwCmluZGV4IDM1NjRmZTIuLjM1ODhmYjQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvQmxvYi5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvZmlsZWFwaS9CbG9iLmNwcApAQCAtMzMsNyArMzMsNiBAQAogCiAjaW5jbHVkZSAiQmxv
YlVSTC5oIgogI2luY2x1ZGUgIkZpbGUuaCIKLSNpbmNsdWRlICJIaXN0b2dyYW1TdXBwb3J0Lmgi
CiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUgIlRocmVhZGFi
bGVCbG9iUmVnaXN0cnkuaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL1dlYktpdEJsb2JCdWlsZGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2ZpbGVhcGkvV2ViS2l0QmxvYkJ1aWxkZXIuY3BwCmluZGV4IDY1OGI2YTQuLjQx
YjkyMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvV2ViS2l0QmxvYkJ1aWxk
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvV2ViS2l0QmxvYkJ1aWxkZXIuY3Bw
CkBAIC0zNSw3ICszNSw2IEBACiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFeGNl
cHRpb25Db2RlLmgiCiAjaW5jbHVkZSAiRmlsZS5oIgotI2luY2x1ZGUgIkhpc3RvZ3JhbVN1cHBv
cnQuaCIKICNpbmNsdWRlICJMaW5lRW5kaW5nLmgiCiAjaW5jbHVkZSAiVGV4dEVuY29kaW5nLmgi
CiAjaW5jbHVkZSA8cnVudGltZS9BcnJheUJ1ZmZlci5oPgpAQCAtODksOCArODgsNiBAQCB2b2lk
IEJsb2JCdWlsZGVyOjphcHBlbmQoY29uc3QgU3RyaW5nJiB0ZXh0LCBjb25zdCBTdHJpbmcmIGVu
ZGluZ1R5cGUpCiAjaWYgRU5BQkxFKEJMT0IpCiB2b2lkIEJsb2JCdWlsZGVyOjphcHBlbmQoQXJy
YXlCdWZmZXIqIGFycmF5QnVmZmVyKQogewotICAgIEhpc3RvZ3JhbVN1cHBvcnQ6Omhpc3RvZ3Jh
bUVudW1lcmF0aW9uKCJXZWJDb3JlLkJsb2IuY29uc3RydWN0b3IuQXJyYXlCdWZmZXJPclZpZXci
LCBCbG9iQ29uc3RydWN0b3JBcnJheUJ1ZmZlciwgQmxvYkNvbnN0cnVjdG9yQXJyYXlCdWZmZXJP
clZpZXdNYXgpOwotCiAgICAgaWYgKCFhcnJheUJ1ZmZlcikKICAgICAgICAgcmV0dXJuOwogCkBA
IC05OSw4ICs5Niw2IEBAIHZvaWQgQmxvYkJ1aWxkZXI6OmFwcGVuZChBcnJheUJ1ZmZlciogYXJy
YXlCdWZmZXIpCiAKIHZvaWQgQmxvYkJ1aWxkZXI6OmFwcGVuZChQYXNzUmVmUHRyPEFycmF5QnVm
ZmVyVmlldz4gYXJyYXlCdWZmZXJWaWV3KQogewotICAgIEhpc3RvZ3JhbVN1cHBvcnQ6Omhpc3Rv
Z3JhbUVudW1lcmF0aW9uKCJXZWJDb3JlLkJsb2IuY29uc3RydWN0b3IuQXJyYXlCdWZmZXJPclZp
ZXciLCBCbG9iQ29uc3RydWN0b3JBcnJheUJ1ZmZlclZpZXcsIEJsb2JDb25zdHJ1Y3RvckFycmF5
QnVmZmVyT3JWaWV3TWF4KTsKLQogICAgIGlmICghYXJyYXlCdWZmZXJWaWV3KQogICAgICAgICBy
ZXR1cm47CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmNwcAppbmRleCA5MDNiNTNlLi5l
OGFhMGI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuY3BwCkBAIC00MCw3ICs0MCw2
IEBACiAjaW5jbHVkZSAiRnJhbWVMb2FkZXJDbGllbnQuaCIKICNpbmNsdWRlICJGcmFtZUxvYWRl
clN0YXRlTWFjaGluZS5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgotI2luY2x1ZGUgIkhpc3Rv
Z3JhbVN1cHBvcnQuaCIKICNpbmNsdWRlICJIaXN0b3J5Q29udHJvbGxlci5oIgogI2luY2x1ZGUg
Ikhpc3RvcnlJdGVtLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgpAQCAtMTgxLDE2ICsxODAsNiBA
QCBzdGF0aWMgdW5zaWduZWQgbG9nQ2FuQ2FjaGVGcmFtZURlY2lzaW9uKEZyYW1lKiBmcmFtZSwg
aW50IGluZGVudExldmVsKQogICAgICAgICByZWplY3RSZWFzb25zIHw9IDEgPDwgQ2xpZW50RGVu
aWVzQ2FjaGluZzsKICAgICB9CiAKLSAgICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1FbnVt
ZXJhdGlvbigiUGFnZUNhY2hlLkZyYW1lQ2FjaGVhYmxlIiwgIXJlamVjdFJlYXNvbnMsIDIpOwot
ICAgIGludCByZWFzb25Db3VudCA9IDA7Ci0gICAgZm9yIChpbnQgaSA9IDA7IGkgPCBOdW1iZXJP
ZlJlYXNvbnNGcmFtZXNDYW5ub3RCZUluUGFnZUNhY2hlOyArK2kpIHsKLSAgICAgICAgaWYgKHJl
amVjdFJlYXNvbnMgJiAoMSA8PCBpKSkgewotICAgICAgICAgICAgKytyZWFzb25Db3VudDsKLSAg
ICAgICAgICAgIEhpc3RvZ3JhbVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJQYWdlQ2Fj
aGUuRnJhbWVSZWplY3RSZWFzb24iLCBpLCBOdW1iZXJPZlJlYXNvbnNGcmFtZXNDYW5ub3RCZUlu
UGFnZUNhY2hlKTsKLSAgICAgICAgfQotICAgIH0KLSAgICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0
b2dyYW1FbnVtZXJhdGlvbigiUGFnZUNhY2hlLkZyYW1lUmVqZWN0UmVhc29uQ291bnQiLCByZWFz
b25Db3VudCwgMSArIE51bWJlck9mUmVhc29uc0ZyYW1lc0Nhbm5vdEJlSW5QYWdlQ2FjaGUpOwot
CiAgICAgZm9yIChGcmFtZSogY2hpbGQgPSBmcmFtZS0+dHJlZSgpLmZpcnN0Q2hpbGQoKTsgY2hp
bGQ7IGNoaWxkID0gY2hpbGQtPnRyZWUoKS5uZXh0U2libGluZygpKQogICAgICAgICByZWplY3RS
ZWFzb25zIHw9IGxvZ0NhbkNhY2hlRnJhbWVEZWNpc2lvbihjaGlsZCwgaW5kZW50TGV2ZWwgKyAx
KTsKICAgICAKQEAgLTI2NywzMSArMjU2LDYgQEAgc3RhdGljIHZvaWQgbG9nQ2FuQ2FjaGVQYWdl
RGVjaXNpb24oUGFnZSogcGFnZSkKICAgICB9CiAgICAgCiAgICAgUENMT0cocmVqZWN0UmVhc29u
cyA/ICIgUGFnZSBDQU5OT1QgYmUgY2FjaGVkXG4tLS0tLS0tLSIgOiAiIFBhZ2UgQ0FOIGJlIGNh
Y2hlZFxuLS0tLS0tLS0iKTsKLQotICAgIEhpc3RvZ3JhbVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1l
cmF0aW9uKCJQYWdlQ2FjaGUuUGFnZUNhY2hlYWJsZSIsICFyZWplY3RSZWFzb25zLCAyKTsKLSAg
ICBpbnQgcmVhc29uQ291bnQgPSAwOwotICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTnVtYmVyT2ZS
ZWFzb25zUGFnZXNDYW5ub3RCZUluUGFnZUNhY2hlOyArK2kpIHsKLSAgICAgICAgaWYgKHJlamVj
dFJlYXNvbnMgJiAoMSA8PCBpKSkgewotICAgICAgICAgICAgKytyZWFzb25Db3VudDsKLSAgICAg
ICAgICAgIEhpc3RvZ3JhbVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJQYWdlQ2FjaGUu
UGFnZVJlamVjdFJlYXNvbiIsIGksIE51bWJlck9mUmVhc29uc1BhZ2VzQ2Fubm90QmVJblBhZ2VD
YWNoZSk7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgSGlzdG9ncmFtU3VwcG9ydDo6aGlzdG9ncmFt
RW51bWVyYXRpb24oIlBhZ2VDYWNoZS5QYWdlUmVqZWN0UmVhc29uQ291bnQiLCByZWFzb25Db3Vu
dCwgMSArIE51bWJlck9mUmVhc29uc1BhZ2VzQ2Fubm90QmVJblBhZ2VDYWNoZSk7Ci0gICAgY29u
c3QgYm9vbCBzZXR0aW5nc0Rpc2FibGVkUGFnZUNhY2hlID0gcmVqZWN0UmVhc29ucyAmICgxIDw8
IERpc2FibGVkUGFnZUNhY2hlKTsKLSAgICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1FbnVt
ZXJhdGlvbigiUGFnZUNhY2hlLlBhZ2VSZWplY3RSZWFzb25Db3VudEV4Y2x1ZGluZ1NldHRpbmdz
IiwgcmVhc29uQ291bnQgLSBzZXR0aW5nc0Rpc2FibGVkUGFnZUNhY2hlLCBOdW1iZXJPZlJlYXNv
bnNQYWdlc0Nhbm5vdEJlSW5QYWdlQ2FjaGUpOwotCi0gICAgLy8gUmVwb3J0IGFsc28gb24gdGhl
IGZyYW1lIHJlYXNvbnMgYnkgcGFnZTsgdGhpcyBpcyBkaXN0aW5jdCBmcm9tIHRoZSBwZXIgZnJh
bWUgc3RhdGlzdGljcyBzaW5jZSBpdCBjb2FsZXNjZXMgdGhlCi0gICAgLy8gY2F1c2VzIGZyb20g
YWxsIHN1YmZyYW1lcyB0b2dldGhlci4KLSAgICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1F
bnVtZXJhdGlvbigiUGFnZUNhY2hlLkZyYW1lQ2FjaGVhYmxlQnlQYWdlIiwgIWZyYW1lUmVqZWN0
UmVhc29ucywgMik7Ci0gICAgaW50IGZyYW1lUmVhc29uQ291bnQgPSAwOwotICAgIGZvciAoaW50
IGkgPSAwOyBpIDw9IE51bWJlck9mUmVhc29uc0ZyYW1lc0Nhbm5vdEJlSW5QYWdlQ2FjaGU7ICsr
aSkgewotICAgICAgICBpZiAoZnJhbWVSZWplY3RSZWFzb25zICYgKDEgPDwgaSkpIHsKLSAgICAg
ICAgICAgICsrZnJhbWVSZWFzb25Db3VudDsKLSAgICAgICAgICAgIEhpc3RvZ3JhbVN1cHBvcnQ6
Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJQYWdlQ2FjaGUuRnJhbWVSZWplY3RSZWFzb25CeVBhZ2Ui
LCBpLCBOdW1iZXJPZlJlYXNvbnNGcmFtZXNDYW5ub3RCZUluUGFnZUNhY2hlKTsKLSAgICAgICAg
fQotICAgIH0KLQotICAgIEhpc3RvZ3JhbVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJQ
YWdlQ2FjaGUuRnJhbWVSZWplY3RSZWFzb25Db3VudEJ5UGFnZSIsIGZyYW1lUmVhc29uQ291bnQs
IDEgKyBOdW1iZXJPZlJlYXNvbnNGcmFtZXNDYW5ub3RCZUluUGFnZUNhY2hlKTsKIH0KIAogI2Vu
ZGlmIC8vICFkZWZpbmVkKE5ERUJVRykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL0hpc3RvZ3JhbVN1cHBvcnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vSGlzdG9n
cmFtU3VwcG9ydC5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ5ZWE3OWMuLjAw
MDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vSGlzdG9ncmFtU3VwcG9ydC5jcHAK
KysrIC9kZXYvbnVsbApAQCAtMSw0NCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEx
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlCi0gKiBtZXQ6Ci0gKgotICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUKLSAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIKLSAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAqIGRpc3RyaWJ1dGlvbi4KLSAqICAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLSAq
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tCi0gKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IKLSAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0gKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSAqIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSAq
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLAotICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1
ZGUgIkhpc3RvZ3JhbVN1cHBvcnQuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi12b2lkIEhp
c3RvZ3JhbVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9uKGNvbnN0IGNoYXIqLCBpbnQsIGlu
dCkKLXsKLX0KLQotdm9pZCBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1DdXN0b21Db3VudHMo
Y29uc3QgY2hhciosIGludCwgaW50LCBpbnQsIGludCkKLXsKLX0KLQotfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vSGlzdG9ncmFtU3Vw
cG9ydC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vSGlzdG9ncmFtU3VwcG9ydC5oCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5YmIyNjVhLi4wMDAwMDAwCi0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL0hpc3RvZ3JhbVN1cHBvcnQuaAorKysgL2Rldi9udWxsCkBAIC0xLDQ0
ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSAqIG1ldDoK
LSAqCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICogY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgot
ICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZQotICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBH
b29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAqIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgot
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
LSAqLwotCi0jaWZuZGVmIEhpc3RvZ3JhbVN1cHBvcnRfaAotI2RlZmluZSBIaXN0b2dyYW1TdXBw
b3J0X2gKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBIaXN0b2dyYW1TdXBwb3J0IHsK
LXB1YmxpYzoKLSAgICBzdGF0aWMgdm9pZCBoaXN0b2dyYW1FbnVtZXJhdGlvbihjb25zdCBjaGFy
KiBuYW1lLCBpbnQgc2FtcGxlLCBpbnQgYm91bmRhcnlWYWx1ZSk7Ci0gICAgc3RhdGljIHZvaWQg
aGlzdG9ncmFtQ3VzdG9tQ291bnRzKGNvbnN0IGNoYXIqIG5hbWUsIGludCBzYW1wbGUsIGludCBt
aW4sIGludCBtYXgsIGludCBidWNrZXRDb3VudCk7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCi0KLSNlbmRpZiAvLyBIaXN0b2dyYW1TdXBwb3J0X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2xldmVsZGIvTGV2ZWxEQkRhdGFiYXNlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2xldmVsZGIvTGV2ZWxEQkRhdGFiYXNlLmNwcAppbmRleCA4ZTE1MDNlLi4w
Yzk5NDdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9sZXZlbGRiL0xldmVs
REJEYXRhYmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbGV2ZWxkYi9MZXZl
bERCRGF0YWJhc2UuY3BwCkBAIC0yOCw3ICsyOCw2IEBACiAKICNpZiBVU0UoTEVWRUxEQikKIAot
I2luY2x1ZGUgIkhpc3RvZ3JhbVN1cHBvcnQuaCIKICNpbmNsdWRlICJMZXZlbERCQ29tcGFyYXRv
ci5oIgogI2luY2x1ZGUgIkxldmVsREJJdGVyYXRvci5oIgogI2luY2x1ZGUgIkxldmVsREJTbGlj
ZS5oIgpAQCAtMTM2LDI2ICsxMzUsNiBAQCBib29sIExldmVsREJEYXRhYmFzZTo6ZGVzdHJveShj
b25zdCBTdHJpbmcmIGZpbGVOYW1lKQogICAgIHJldHVybiBzLm9rKCk7CiB9CiAKLXN0YXRpYyB2
b2lkIGhpc3RvZ3JhbUxldmVsREJFcnJvcihjb25zdCBjaGFyKiBoaXN0b2dyYW1OYW1lLCBjb25z
dCBsZXZlbGRiOjpTdGF0dXMmIHMpCi17Ci0gICAgQVNTRVJUKCFzLm9rKCkpOwotICAgIGVudW0g
ewotICAgICAgICBMZXZlbERCTm90Rm91bmQsCi0gICAgICAgIExldmVsREJDb3JydXB0aW9uLAot
ICAgICAgICBMZXZlbERCSU9FcnJvciwKLSAgICAgICAgTGV2ZWxEQk90aGVyLAotICAgICAgICBM
ZXZlbERCTWF4RXJyb3IKLSAgICB9OwotICAgIGludCBsZXZlbERCRXJyb3IgPSBMZXZlbERCT3Ro
ZXI7Ci0gICAgaWYgKHMuSXNOb3RGb3VuZCgpKQotICAgICAgICBsZXZlbERCRXJyb3IgPSBMZXZl
bERCTm90Rm91bmQ7Ci0gICAgZWxzZSBpZiAocy5Jc0NvcnJ1cHRpb24oKSkKLSAgICAgICAgbGV2
ZWxEQkVycm9yID0gTGV2ZWxEQkNvcnJ1cHRpb247Ci0gICAgZWxzZSBpZiAocy5Jc0lPRXJyb3Io
KSkKLSAgICAgICAgbGV2ZWxEQkVycm9yID0gTGV2ZWxEQklPRXJyb3I7Ci0gICAgSGlzdG9ncmFt
U3VwcG9ydDo6aGlzdG9ncmFtRW51bWVyYXRpb24oaGlzdG9ncmFtTmFtZSwgbGV2ZWxEQkVycm9y
LCBMZXZlbERCTWF4RXJyb3IpOwotfQotCiBzdGQ6OnVuaXF1ZV9wdHI8TGV2ZWxEQkRhdGFiYXNl
PiBMZXZlbERCRGF0YWJhc2U6Om9wZW4oY29uc3QgU3RyaW5nJiBmaWxlTmFtZSwgY29uc3QgTGV2
ZWxEQkNvbXBhcmF0b3IqIGNvbXBhcmF0b3IpCiB7CiAgICAgYXV0byBjb21wYXJhdG9yQWRhcHRl
ciA9IHN0ZDo6bWFrZV91bmlxdWU8Q29tcGFyYXRvckFkYXB0ZXI+KGNvbXBhcmF0b3IpOwpAQCAt
MTY0LDggKzE0Myw2IEBAIHN0ZDo6dW5pcXVlX3B0cjxMZXZlbERCRGF0YWJhc2U+IExldmVsREJE
YXRhYmFzZTo6b3Blbihjb25zdCBTdHJpbmcmIGZpbGVOYW1lLCBjCiAgICAgY29uc3QgbGV2ZWxk
Yjo6U3RhdHVzIHMgPSBvcGVuREIoY29tcGFyYXRvckFkYXB0ZXIuZ2V0KCksIGxldmVsZGI6OklE
QkVudigpLCBmaWxlTmFtZSwgJmRiKTsKIAogICAgIGlmICghcy5vaygpKSB7Ci0gICAgICAgIGhp
c3RvZ3JhbUxldmVsREJFcnJvcigiV2ViQ29yZS5JbmRleGVkREIuTGV2ZWxEQk9wZW5FcnJvcnMi
LCBzKTsKLQogICAgICAgICBMT0dfRVJST1IoIkZhaWxlZCB0byBvcGVuIExldmVsREIgZGF0YWJh
c2UgZnJvbSAlczogJXMiLCBmaWxlTmFtZS5hc2NpaSgpLmRhdGEoKSwgcy5Ub1N0cmluZygpLmNf
c3RyKCkpOwogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyLmNwcAppbmRleCA1NWJlOTI0Li41OGU3NGMzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTcwLDcgKzcwLDYgQEAKICNpbmNs
dWRlICJIVE1MRnJhbWVFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTEZyYW1lT3duZXJFbGVtZW50
LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCi0jaW5jbHVkZSAiSGlzdG9ncmFtU3VwcG9ydC5o
IgogI2luY2x1ZGUgIkhpdFRlc3RpbmdUcmFuc2Zvcm1TdGF0ZS5oIgogI2luY2x1ZGUgIkhpdFRl
c3RSZXF1ZXN0LmgiCiAjaW5jbHVkZSAiSGl0VGVzdFJlc3VsdC5oIgpAQCAtMjE1NiwxMiArMjE1
NSw2IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnVwZGF0ZU5lZWRzQ29tcG9zaXRlZFNjcm9sbGluZygp
CiAgICAgICAgIC8vIGxheWVycyBpbiBXZWJDb3JlLCBiZWNhdXNlIHdlIHVzZSBVSUtpdCB0byBj
b21wb3NpdGUgb3VyIHNjcm9sbCBiYXJzLgogICAgICAgICBtX25lZWRzQ29tcG9zaXRlZFNjcm9s
bGluZyA9IGZvcmNlVXNlQ29tcG9zaXRlZFNjcm9sbGluZzsKICNlbmRpZgotICAgICAgICAvLyBX
ZSBnYXRoZXIgYSBib29sZWFuIHZhbHVlIGZvciB1c2Ugd2l0aCBHb29nbGUgVU1BIGhpc3RvZ3Jh
bXMgdG8KLSAgICAgICAgLy8gcXVhbnRpZnkgdGhlIGFjdHVhbCBlZmZlY3RzIG9mIGEgc2V0IG9m
IHBhdGNoZXMgYXR0ZW1wdGluZyB0bwotICAgICAgICAvLyByZWxheCBjb21wb3NpdGVkIHNjcm9s
bGluZyByZXF1aXJlbWVudHMsIHRoZXJlYnkgaW5jcmVhc2luZyB0aGUKLSAgICAgICAgLy8gbnVt
YmVyIG9mIGNvbXBvc2l0ZWQgb3ZlcmZsb3cgZGl2cy4KLSAgICAgICAgaWYgKGFjY2VsZXJhdGVk
Q29tcG9zaXRpbmdGb3JPdmVyZmxvd1Njcm9sbEVuYWJsZWQoKSkKLSAgICAgICAgICAgIEhpc3Rv
Z3JhbVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJSZW5kZXJlci5OZWVkc0NvbXBvc2l0
ZWRTY3JvbGxpbmciLCBtX25lZWRzQ29tcG9zaXRlZFNjcm9sbGluZywgMik7CiAgICAgfQogCiAg
ICAgaWYgKG9sZE5lZWRzQ29tcG9zaXRlZFNjcm9sbGluZyAhPSBtX25lZWRzQ29tcG9zaXRlZFNj
cm9sbGluZykgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKaW5kZXggZGFiYTQ5
Zi4uZmJjZDE5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCkBAIC0zNSw3
ICszNSw2IEBACiAjaW5jbHVkZSAiRmlsZS5oIgogI2luY2x1ZGUgIkhUTUxEb2N1bWVudC5oIgog
I2luY2x1ZGUgIkhUVFBQYXJzZXJzLmgiCi0jaW5jbHVkZSAiSGlzdG9ncmFtU3VwcG9ydC5oIgog
I2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIkpTRE9NQmlu
ZGluZy5oIgogI2luY2x1ZGUgIkpTRE9NV2luZG93LmgiCkBAIC03MTAsMTUgKzcwOSwxMSBAQCB2
b2lkIFhNTEh0dHBSZXF1ZXN0OjpzZW5kKEFycmF5QnVmZmVyKiBib2R5LCBFeGNlcHRpb25Db2Rl
JiBlYykKICAgICBTdHJpbmcgY29uc29sZU1lc3NhZ2UoIkFycmF5QnVmZmVyIGlzIGRlcHJlY2F0
ZWQgaW4gWE1MSHR0cFJlcXVlc3Quc2VuZCgpLiBVc2UgQXJyYXlCdWZmZXJWaWV3IGluc3RlYWQu
Iik7CiAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNz
YWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpXYXJuaW5nLCBjb25zb2xlTWVzc2FnZSk7CiAK
LSAgICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1FbnVtZXJhdGlvbigiV2ViQ29yZS5YSFIu
c2VuZC5BcnJheUJ1ZmZlck9yVmlldyIsIFhNTEh0dHBSZXF1ZXN0U2VuZEFycmF5QnVmZmVyLCBY
TUxIdHRwUmVxdWVzdFNlbmRBcnJheUJ1ZmZlck9yVmlld01heCk7Ci0KICAgICBzZW5kQnl0ZXNE
YXRhKGJvZHktPmRhdGEoKSwgYm9keS0+Ynl0ZUxlbmd0aCgpLCBlYyk7CiB9CiAKIHZvaWQgWE1M
SHR0cFJlcXVlc3Q6OnNlbmQoQXJyYXlCdWZmZXJWaWV3KiBib2R5LCBFeGNlcHRpb25Db2RlJiBl
YykKIHsKLSAgICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1FbnVtZXJhdGlvbigiV2ViQ29y
ZS5YSFIuc2VuZC5BcnJheUJ1ZmZlck9yVmlldyIsIFhNTEh0dHBSZXF1ZXN0U2VuZEFycmF5QnVm
ZmVyVmlldywgWE1MSHR0cFJlcXVlc3RTZW5kQXJyYXlCdWZmZXJPclZpZXdNYXgpOwotCiAgICAg
c2VuZEJ5dGVzRGF0YShib2R5LT5iYXNlQWRkcmVzcygpLCBib2R5LT5ieXRlTGVuZ3RoKCksIGVj
KTsKIH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>