<?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>102126</bug_id>
          
          <creation_ts>2012-11-13 13:12:50 -0800</creation_ts>
          <short_desc>[Blackberry] Break suspend/resume of the backingstore and screen into separate methods</short_desc>
          <delta_ts>2012-11-14 11:03:48 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit BlackBerry</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="Adam Treat">manyoso</reporter>
          <assigned_to name="Adam Treat">manyoso</assigned_to>
          <cc>darin</cc>
    
    <cc>mifenton</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>765973</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Treat">manyoso</who>
    <bug_when>2012-11-13 13:12:50 -0800</bug_when>
    <thetext>Modify the suspend/resume methods so that they can be called from the UI thread itself and split up the suspend/resume methods so that we can suspend/resume the screen or backingstore separately.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>765977</commentid>
    <comment_count>1</comment_count>
      <attachid>173967</attachid>
    <who name="Adam Treat">manyoso</who>
    <bug_when>2012-11-13 13:15:54 -0800</bug_when>
    <thetext>Created attachment 173967
WebKit portion of PR 219976

This has already been reviewed internally, but need upstream review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>766817</commentid>
    <comment_count>2</comment_count>
      <attachid>173967</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2012-11-14 06:20:17 -0800</bug_when>
    <thetext>Comment on attachment 173967
WebKit portion of PR 219976

View in context: https://bugs.webkit.org/attachment.cgi?id=173967&amp;action=review

&gt; Source/WebKit/blackberry/ChangeLog:83
&gt;  
&gt;          [BlackBerry] Add a prompt to enable global location services
&gt;          https://bugs.webkit.org/show_bug.cgi?id=100992
&gt; -        
&gt; +
&gt;          PR 227897
&gt;  
&gt;          Reviewed by Rob Buis.

I am not sure commit queue will handle well all this unrelated changelog entries in your diff.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>766879</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Treat">manyoso</who>
    <bug_when>2012-11-14 07:32:37 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 173967 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=173967&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/blackberry/ChangeLog:83
&gt; &gt;  
&gt; &gt;          [BlackBerry] Add a prompt to enable global location services
&gt; &gt;          https://bugs.webkit.org/show_bug.cgi?id=100992
&gt; &gt; -        
&gt; &gt; +
&gt; &gt;          PR 227897
&gt; &gt;  
&gt; &gt;          Reviewed by Rob Buis.
&gt; 
&gt; I am not sure commit queue will handle well all this unrelated changelog entries in your diff.

I will get rid of the unnecessary changes to the Changelog, thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>766880</commentid>
    <comment_count>4</comment_count>
      <attachid>173967</attachid>
    <who name="Adam Treat">manyoso</who>
    <bug_when>2012-11-14 07:33:29 -0800</bug_when>
    <thetext>Comment on attachment 173967
WebKit portion of PR 219976

Get out of review queue since I need to fix the changelog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>766910</commentid>
    <comment_count>5</comment_count>
      <attachid>174161</attachid>
    <who name="Adam Treat">manyoso</who>
    <bug_when>2012-11-14 08:12:33 -0800</bug_when>
    <thetext>Created attachment 174161
WebKit portion of PR 219976 v2

Fixed the changelog</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767011</commentid>
    <comment_count>6</comment_count>
      <attachid>174192</attachid>
    <who name="Adam Treat">manyoso</who>
    <bug_when>2012-11-14 10:18:06 -0800</bug_when>
    <thetext>Created attachment 174192
WebKit portion of PR 219976 v3

New version rebased on latest trunk so that it will apply cleanly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767066</commentid>
    <comment_count>7</comment_count>
      <attachid>174192</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-14 11:03:44 -0800</bug_when>
    <thetext>Comment on attachment 174192
WebKit portion of PR 219976 v3

Clearing flags on attachment: 174192

Committed r134630: &lt;http://trac.webkit.org/changeset/134630&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767067</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-14 11:03:48 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173967</attachid>
            <date>2012-11-13 13:15:54 -0800</date>
            <delta_ts>2012-11-14 08:12:33 -0800</delta_ts>
            <desc>WebKit portion of PR 219976</desc>
            <filename>webkit_219976v4.patch</filename>
            <type>text/plain</type>
            <size>37633</size>
            <attacher name="Adam Treat">manyoso</attacher>
            
              <data encoding="base64">Y29tbWl0IGYyZTY2ZjlhZDA3OWU0MTI0NTRhYTFmNTI2ODc5ZTFjMTZjMGNjMjIKQXV0aG9yOiBB
ZGFtIFRyZWF0IDxhdHJlYXRAcmltLmNvbT4KRGF0ZTogICBUdWUgTm92IDEzIDE2OjEyOjM1IDIw
MTIgLTA1MDAKCiAgICBbQmxhY2tCZXJyeV0gQnJlYWsgc3VzcGVuZC9yZXN1bWUgb2YgdGhlIGJh
Y2tpbmdzdG9yZSBhbmQgc2NyZWVuIGludG8gc2VwYXJhdGUgbWV0aG9kcwogICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjEyNgogICAgCiAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KICAgIFBSIDIxOTk3NgogICAgCiAgICBNb2RpZnkgdGhlIHN1c3Bl
bmQvcmVzdW1lIG1ldGhvZHMgc28gdGhhdCB0aGV5IGNhbiBiZSBjYWxsZWQgZnJvbSB0aGUgVUkg
dGhyZWFkCiAgICBpdHNlbGYgYW5kIHNwbGl0IHVwIHRoZSBzdXNwZW5kL3Jlc3VtZSBtZXRob2Rz
IHNvIHRoYXQgd2UgY2FuIHN1c3BlbmQvcmVzdW1lCiAgICB0aGUgc2NyZWVuIG9yIGJhY2tpbmdz
dG9yZSBzZXBhcmF0ZWx5LgogICAgCiAgICAqIEFwaS9CYWNraW5nU3RvcmUuY3BwOgogICAgKEJs
YWNrQmVycnk6OldlYktpdDo6QmFja2luZ1N0b3JlUHJpdmF0ZTo6c3VzcGVuZEJhY2tpbmdTdG9y
ZVVwZGF0ZXMpOgogICAgKFdlYktpdCk6CiAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpCYWNraW5n
U3RvcmVQcml2YXRlOjpzdXNwZW5kU2NyZWVuVXBkYXRlcyk6CiAgICAoQmxhY2tCZXJyeTo6V2Vi
S2l0OjpCYWNraW5nU3RvcmVQcml2YXRlOjpyZXN1bWVCYWNraW5nU3RvcmVVcGRhdGVzKToKICAg
IChCbGFja0JlcnJ5OjpXZWJLaXQ6OkJhY2tpbmdTdG9yZVByaXZhdGU6OnJlc3VtZVNjcmVlblVw
ZGF0ZXMpOgogICAgKEJsYWNrQmVycnk6OldlYktpdDo6QmFja2luZ1N0b3JlUHJpdmF0ZTo6Ymxp
dFZpc2libGVDb250ZW50cyk6CiAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpCYWNraW5nU3RvcmVQ
cml2YXRlOjpjcmVhdGVTdXJmYWNlcyk6CiAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpCYWNraW5n
U3RvcmU6OnN1c3BlbmRCYWNraW5nU3RvcmVVcGRhdGVzKToKICAgIChCbGFja0JlcnJ5OjpXZWJL
aXQ6OkJhY2tpbmdTdG9yZTo6cmVzdW1lQmFja2luZ1N0b3JlVXBkYXRlcyk6CiAgICAoQmxhY2tC
ZXJyeTo6V2ViS2l0OjpCYWNraW5nU3RvcmU6OnN1c3BlbmRTY3JlZW5VcGRhdGVzKToKICAgIChC
bGFja0JlcnJ5OjpXZWJLaXQ6OkJhY2tpbmdTdG9yZTo6cmVzdW1lU2NyZWVuVXBkYXRlcyk6CiAg
ICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpCYWNraW5nU3RvcmU6OmNyZWF0ZUJhY2tpbmdTdG9yZU1l
bW9yeSk6CiAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpCYWNraW5nU3RvcmU6OnJlbGVhc2VCYWNr
aW5nU3RvcmVNZW1vcnkpOgogICAgKiBBcGkvQmFja2luZ1N0b3JlLmg6CiAgICAqIEFwaS9CYWNr
aW5nU3RvcmVfcC5oOgogICAgKEJhY2tpbmdTdG9yZVByaXZhdGUpOgogICAgKiBBcGkvV2ViUGFn
ZS5jcHA6CiAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpXZWJQYWdlUHJpdmF0ZTo6c2V0TG9hZFN0
YXRlKToKICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6OldlYlBhZ2VQcml2YXRlOjp6b29tQWJvdXRQ
b2ludCk6CiAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpXZWJQYWdlUHJpdmF0ZTo6em9vbUJsb2Nr
KToKICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6OldlYlBhZ2U6OmRlc3Ryb3kpOgogICAgKEJsYWNr
QmVycnk6OldlYktpdDo6V2ViUGFnZVByaXZhdGU6OnNldFZpZXdwb3J0U2l6ZSk6CiAgICAoQmxh
Y2tCZXJyeTo6V2ViS2l0OjpXZWJQYWdlUHJpdmF0ZTo6c2V0Q29tcG9zaXRvcik6CiAgICAoQmxh
Y2tCZXJyeTo6V2ViS2l0OjpXZWJQYWdlUHJpdmF0ZTo6ZXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50
KToKICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6OldlYlBhZ2VQcml2YXRlOjpyZXN0b3JlSGlzdG9y
eVZpZXdTdGF0ZSk6CiAgICAqIFdlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50QmxhY2tC
ZXJyeS5jcHA6CiAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnRCbGFja0JlcnJ5Ojp0cmFu
c2l0aW9uVG9Db21taXR0ZWRGb3JOZXdQYWdlKToKICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlckNs
aWVudEJsYWNrQmVycnk6OnJlc3RvcmVWaWV3U3RhdGUpOgogICAgKiBXZWJLaXRTdXBwb3J0L0lu
cHV0SGFuZGxlci5jcHA6CiAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpJbnB1dEhhbmRsZXI6OnNl
dEJhdGNoRWRpdGluZ0FjdGl2ZSk6CgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2Jl
cnJ5L0FwaS9CYWNraW5nU3RvcmUuY3BwIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9C
YWNraW5nU3RvcmUuY3BwCmluZGV4IDdmZWRhM2UuLmUwYTcyNzAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvQmFja2luZ1N0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2JsYWNrYmVycnkvQXBpL0JhY2tpbmdTdG9yZS5jcHAKQEAgLTI3NiwxNCArMjc2LDIyIEBA
IGJvb2wgQmFja2luZ1N0b3JlUHJpdmF0ZTo6aXNPcGVuR0xDb21wb3NpdGluZygpIGNvbnN0CiAg
ICAgcmV0dXJuIHRydWU7CiB9CiAKLXZvaWQgQmFja2luZ1N0b3JlUHJpdmF0ZTo6c3VzcGVuZFNj
cmVlbkFuZEJhY2tpbmdTdG9yZVVwZGF0ZXMoKQordm9pZCBCYWNraW5nU3RvcmVQcml2YXRlOjpz
dXNwZW5kQmFja2luZ1N0b3JlVXBkYXRlcygpCiB7Ci0gICAgaWYgKG1fc3VzcGVuZFNjcmVlblVw
ZGF0ZXMpIHsKKyAgICBpZiAoYXRvbWljX2FkZF92YWx1ZSgmbV9zdXNwZW5kQmFja2luZ1N0b3Jl
VXBkYXRlcywgMCkpIHsKICAgICAgICAgQkJMT0coQmxhY2tCZXJyeTo6UGxhdGZvcm06OkxvZ0xl
dmVsSW5mbywKLSAgICAgICAgICAgICJTY3JlZW4gYW5kIGJhY2tpbmdzdG9yZSBhbHJlYWR5IHN1
c3BlbmRlZCwgaW5jcmVhc2luZyBzdXNwZW5kIGNvdW50ZXIuIik7CisgICAgICAgICAgICAiQmFj
a2luZ3N0b3JlIGFscmVhZHkgc3VzcGVuZGVkLCBpbmNyZWFzaW5nIHN1c3BlbmQgY291bnRlci4i
KTsKICAgICB9CiAKLSAgICArK21fc3VzcGVuZEJhY2tpbmdTdG9yZVVwZGF0ZXM7CisgICAgYXRv
bWljX2FkZCgmbV9zdXNwZW5kQmFja2luZ1N0b3JlVXBkYXRlcywgMSk7Cit9CisKK3ZvaWQgQmFj
a2luZ1N0b3JlUHJpdmF0ZTo6c3VzcGVuZFNjcmVlblVwZGF0ZXMoKQoreworICAgIGlmIChtX3N1
c3BlbmRTY3JlZW5VcGRhdGVzKSB7CisgICAgICAgIEJCTE9HKEJsYWNrQmVycnk6OlBsYXRmb3Jt
OjpMb2dMZXZlbEluZm8sCisgICAgICAgICAgICAiU2NyZWVuIGFscmVhZHkgc3VzcGVuZGVkLCBp
bmNyZWFzaW5nIHN1c3BlbmQgY291bnRlci4iKTsKKyAgICB9CiAKICAgICAvLyBNYWtlIHN1cmUg
dGhlIHVzZXIgaW50ZXJmYWNlIHRocmVhZCBnZXRzIHRoZSBtZXNzYWdlIGJlZm9yZSB3ZSBwcm9j
ZWVkCiAgICAgLy8gYmVjYXVzZSBibGl0VmlzaWJsZUNvbnRlbnRzKCkgY2FuIGJlIGNhbGxlZCBm
cm9tIHRoZSB1c2VyIGludGVyZmFjZQpAQCAtMjkzLDE3ICszMDEsMjcgQEAgdm9pZCBCYWNraW5n
U3RvcmVQcml2YXRlOjpzdXNwZW5kU2NyZWVuQW5kQmFja2luZ1N0b3JlVXBkYXRlcygpCiAgICAg
QmxhY2tCZXJyeTo6UGxhdGZvcm06OnVzZXJJbnRlcmZhY2VUaHJlYWRNZXNzYWdlQ2xpZW50KCkt
PnN5bmNUb0N1cnJlbnRNZXNzYWdlKCk7CiB9CiAKLXZvaWQgQmFja2luZ1N0b3JlUHJpdmF0ZTo6
cmVzdW1lU2NyZWVuQW5kQmFja2luZ1N0b3JlVXBkYXRlcyhCYWNraW5nU3RvcmU6OlJlc3VtZVVw
ZGF0ZU9wZXJhdGlvbiBvcCkKK3ZvaWQgQmFja2luZ1N0b3JlUHJpdmF0ZTo6cmVzdW1lQmFja2lu
Z1N0b3JlVXBkYXRlcygpCiB7Ci0gICAgQVNTRVJUKG1fc3VzcGVuZFNjcmVlblVwZGF0ZXMpOwot
ICAgIEFTU0VSVChtX3N1c3BlbmRCYWNraW5nU3RvcmVVcGRhdGVzKTsKKyAgICBib29sIGlzU3Vz
cGVuZGVkID0gYXRvbWljX2FkZF92YWx1ZSgmbV9zdXNwZW5kQmFja2luZ1N0b3JlVXBkYXRlcywg
MCkgPj0gMTsKKyAgICBBU1NFUlQoaXNTdXNwZW5kZWQpOworICAgIGlmICghaXNTdXNwZW5kZWQp
IHsKKyAgICAgICAgQmxhY2tCZXJyeTo6UGxhdGZvcm06OmxvZ0Fsd2F5cyhCbGFja0JlcnJ5OjpQ
bGF0Zm9ybTo6TG9nTGV2ZWxDcml0aWNhbCwKKyAgICAgICAgICAgICJDYWxsIG1pc21hdGNoOiBC
YWNraW5nc3RvcmUgaGFzbid0IGJlZW4gc3VzcGVuZGVkLCB0aGVyZWZvcmUgd29uJ3QgcmVzdW1l
ISIpOworICAgICAgICByZXR1cm47CisgICAgfQogCi0gICAgLy8gQm90aCB2YXJpYWJsZXMgYXJl
IHNpbWlsYXIgZXhjZXB0IGZvciB0aGUgdGltaW5nIG9mIHNldHRpbmcgdGhlbS4KLSAgICBBU1NF
UlQobV9zdXNwZW5kU2NyZWVuVXBkYXRlcyA9PSBtX3N1c3BlbmRCYWNraW5nU3RvcmVVcGRhdGVz
KTsKKyAgICBhdG9taWNfc3ViKCZtX3N1c3BlbmRCYWNraW5nU3RvcmVVcGRhdGVzLCAxKTsKK30K
KworCit2b2lkIEJhY2tpbmdTdG9yZVByaXZhdGU6OnJlc3VtZVNjcmVlblVwZGF0ZXMoQmFja2lu
Z1N0b3JlOjpSZXN1bWVVcGRhdGVPcGVyYXRpb24gb3ApCit7CisgICAgQVNTRVJUKG1fc3VzcGVu
ZFNjcmVlblVwZGF0ZXMpOwogCi0gICAgaWYgKCFtX3N1c3BlbmRTY3JlZW5VcGRhdGVzIHx8ICFt
X3N1c3BlbmRCYWNraW5nU3RvcmVVcGRhdGVzKSB7CisgICAgaWYgKCFtX3N1c3BlbmRTY3JlZW5V
cGRhdGVzKSB7CiAgICAgICAgIEJsYWNrQmVycnk6OlBsYXRmb3JtOjpsb2dBbHdheXMoQmxhY2tC
ZXJyeTo6UGxhdGZvcm06OkxvZ0xldmVsQ3JpdGljYWwsCi0gICAgICAgICAgICAiQ2FsbCBtaXNt
YXRjaDogU2NyZWVuIGFuZCBiYWNraW5nc3RvcmUgaGF2ZW4ndCBiZWVuIHN1c3BlbmRlZCwgdGhl
cmVmb3JlIHdvbid0IHJlc3VtZSEiKTsKKyAgICAgICAgICAgICJDYWxsIG1pc21hdGNoOiBTY3Jl
ZW4gaGFzbid0IGJlZW4gc3VzcGVuZGVkLCB0aGVyZWZvcmUgd29uJ3QgcmVzdW1lISIpOwogICAg
ICAgICByZXR1cm47CiAgICAgfQogCkBAIC0zMTIsMTYgKzMzMCwxMyBAQCB2b2lkIEJhY2tpbmdT
dG9yZVByaXZhdGU6OnJlc3VtZVNjcmVlbkFuZEJhY2tpbmdTdG9yZVVwZGF0ZXMoQmFja2luZ1N0
b3JlOjpSZXN1bQogICAgICAgICB8fCAobV9yZXN1bWVPcGVyYXRpb24gPT0gQmFja2luZ1N0b3Jl
OjpOb25lICYmIG9wID09IEJhY2tpbmdTdG9yZTo6QmxpdCkpCiAgICAgICAgIG1fcmVzdW1lT3Bl
cmF0aW9uID0gb3A7CiAKLSAgICBpZiAobV9zdXNwZW5kU2NyZWVuVXBkYXRlcyA+PSAyICYmIG1f
c3VzcGVuZEJhY2tpbmdTdG9yZVVwZGF0ZXMgPj0gMikgeyAvLyB3ZSdyZSBzdGlsbCBzdXNwZW5k
ZWQKKyAgICBpZiAobV9zdXNwZW5kU2NyZWVuVXBkYXRlcyA+PSAyKSB7IC8vIHdlJ3JlIHN0aWxs
IHN1c3BlbmRlZAogICAgICAgICBCQkxPRyhCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6TG9nTGV2ZWxJ
bmZvLAogICAgICAgICAgICAgIlNjcmVlbiBhbmQgYmFja2luZ3N0b3JlIHN0aWxsIHN1c3BlbmRl
ZCwgZGVjcmVhc2luZyBzdXNwZW5kIGNvdW50ZXIuIik7Ci0gICAgICAgIC0tbV9zdXNwZW5kQmFj
a2luZ1N0b3JlVXBkYXRlczsKICAgICAgICAgLS1tX3N1c3BlbmRTY3JlZW5VcGRhdGVzOwogICAg
ICAgICByZXR1cm47CiAgICAgfQogCi0gICAgLS1tX3N1c3BlbmRCYWNraW5nU3RvcmVVcGRhdGVz
OwotCiAgICAgb3AgPSBtX3Jlc3VtZU9wZXJhdGlvbjsKICAgICBtX3Jlc3VtZU9wZXJhdGlvbiA9
IEJhY2tpbmdTdG9yZTo6Tm9uZTsKIApAQCAtMTI5OSw2ICsxMzE0LDEwIEBAIHZvaWQgQmFja2lu
Z1N0b3JlUHJpdmF0ZTo6YmxpdFZpc2libGVDb250ZW50cyhib29sIGZvcmNlKQogICAgICAgICB2
aWV3cG9ydEFjY2Vzc29yLT5zY2FsZSgpKTsKICNlbmRpZgogCisjaWYgREVCVUdfQ0hFQ0tFUkJP
QVJECisgICAgYm9vbCBibGl0Q2hlY2tlcmVkID0gZmFsc2U7CisjZW5kaWYKKwogICAgIFZlY3Rv
cjxUaWxlQnVmZmVyKj4gYmxpdHRlZFRpbGVzOwogCiAgICAgaWYgKGlzQWN0aXZlKCkgJiYgIW1f
d2ViUGFnZS0+ZC0+Y29tcG9zaXRvckRyYXdzUm9vdExheWVyKCkpIHsKQEAgLTEzMjUsMTAgKzEz
NDQsNiBAQCB2b2lkIEJhY2tpbmdTdG9yZVByaXZhdGU6OmJsaXRWaXNpYmxlQ29udGVudHMoYm9v
bCBmb3JjZSkKICAgICAgICAgaWYgKCF0cmFuc2Zvcm1lZFNyY1JlY3QuaXNFbXB0eSgpKQogICAg
ICAgICAgICAgdHJhbnNmb3JtYXRpb24gPSBUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6cmVjdFRvUmVj
dChGbG9hdFJlY3QoRmxvYXRQb2ludCgwLjAsIDAuMCksIFdlYkNvcmU6OkludFNpemUodHJhbnNm
b3JtZWRTcmNSZWN0LnNpemUoKSkpLCBXZWJDb3JlOjpJbnRSZWN0KGRzdFJlY3QpKTsKIAotI2lm
IERFQlVHX0NIRUNLRVJCT0FSRAotICAgICAgICBib29sIGJsaXRDaGVja2VyZWQgPSBmYWxzZTsK
LSNlbmRpZgotCiAgICAgICAgIC8vIERvbid0IGNsaXAgdG8gY29udGVudHMgaWYgaXQgaXMgZW1w
dHkgc28gd2UgY2FuIHN0aWxsIHBhaW50IGRlZmF1bHQgYmFja2dyb3VuZC4KICAgICAgICAgaWYg
KCF0cmFuc2Zvcm1lZENvbnRlbnRzUmVjdC5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgIGNsaXBw
ZWRUcmFuc2Zvcm1lZFNyY1JlY3QuaW50ZXJzZWN0KHRyYW5zZm9ybWVkQ29udGVudHNSZWN0KTsK
QEAgLTIwOTgsOCArMjExMywxMSBAQCB2b2lkIEJhY2tpbmdTdG9yZVByaXZhdGU6OmNyZWF0ZVN1
cmZhY2VzKCkKICAgICBjcmVhdGVWaXNpYmxlVGlsZUJ1ZmZlckZvcldlYlBhZ2UobV93ZWJQYWdl
LT5kKTsKIAogICAgIC8vIERvbid0IHRyeSB0byBibGl0IHRvIHNjcmVlbiB1bmxlc3Mgd2UgaGF2
ZSBhIGJ1ZmZlci4KLSAgICBpZiAoIWJ1ZmZlcigpKQotICAgICAgICBzdXNwZW5kU2NyZWVuQW5k
QmFja2luZ1N0b3JlVXBkYXRlcygpOworICAgIGlmICghYnVmZmVyKCkpIHsKKyAgICAgICAgLy8g
RklYTUU6IERvIHdlIHJlYWxseSBuZWVkIHRvIHN1c3BlbmQvcmVzdW1lIGJvdGggYmFja2luZ3N0
b3JlIGFuZCBzY3JlZW4gaGVyZT8KKyAgICAgICAgc3VzcGVuZEJhY2tpbmdTdG9yZVVwZGF0ZXMo
KTsKKyAgICAgICAgc3VzcGVuZFNjcmVlblVwZGF0ZXMoKTsKKyAgICB9CiB9CiAKIHZvaWQgQmFj
a2luZ1N0b3JlUHJpdmF0ZTo6Y3JlYXRlVmlzaWJsZVRpbGVCdWZmZXIoKQpAQCAtMjYxMSwxNCAr
MjYyOSwyNCBAQCB2b2lkIEJhY2tpbmdTdG9yZTo6Y3JlYXRlU3VyZmFjZSgpCiAgICAgZC0+bV93
ZWJQYWdlLT5zZXRGb2N1c2VkKHRydWUpOwogfQogCi12b2lkIEJhY2tpbmdTdG9yZTo6c3VzcGVu
ZFNjcmVlbkFuZEJhY2tpbmdTdG9yZVVwZGF0ZXMoKQordm9pZCBCYWNraW5nU3RvcmU6OnN1c3Bl
bmRCYWNraW5nU3RvcmVVcGRhdGVzKCkKK3sKKyAgICBkLT5zdXNwZW5kQmFja2luZ1N0b3JlVXBk
YXRlcygpOworfQorCit2b2lkIEJhY2tpbmdTdG9yZTo6cmVzdW1lQmFja2luZ1N0b3JlVXBkYXRl
cygpCit7CisgICAgZC0+cmVzdW1lQmFja2luZ1N0b3JlVXBkYXRlcygpOworfQorCit2b2lkIEJh
Y2tpbmdTdG9yZTo6c3VzcGVuZFNjcmVlblVwZGF0ZXMoKQogewotICAgIGQtPnN1c3BlbmRTY3Jl
ZW5BbmRCYWNraW5nU3RvcmVVcGRhdGVzKCk7CisgICAgZC0+c3VzcGVuZFNjcmVlblVwZGF0ZXMo
KTsKIH0KIAotdm9pZCBCYWNraW5nU3RvcmU6OnJlc3VtZVNjcmVlbkFuZEJhY2tpbmdTdG9yZVVw
ZGF0ZXMoUmVzdW1lVXBkYXRlT3BlcmF0aW9uIG9wKQordm9pZCBCYWNraW5nU3RvcmU6OnJlc3Vt
ZVNjcmVlblVwZGF0ZXMoUmVzdW1lVXBkYXRlT3BlcmF0aW9uIG9wKQogewotICAgIGQtPnJlc3Vt
ZVNjcmVlbkFuZEJhY2tpbmdTdG9yZVVwZGF0ZXMob3ApOworICAgIGQtPnJlc3VtZVNjcmVlblVw
ZGF0ZXMob3ApOwogfQogCiBib29sIEJhY2tpbmdTdG9yZTo6aXNTY3JvbGxpbmdPclpvb21pbmco
KSBjb25zdApAQCAtMjY1MiwxMCArMjY4MCwxMiBAQCB2b2lkIEJhY2tpbmdTdG9yZTo6Y3JlYXRl
QmFja2luZ1N0b3JlTWVtb3J5KCkKIHsKICAgICBpZiAoQmFja2luZ1N0b3JlUHJpdmF0ZTo6c19j
dXJyZW50QmFja2luZ1N0b3JlT3duZXIgPT0gZC0+bV93ZWJQYWdlKQogICAgICAgICBTdXJmYWNl
UG9vbDo6Z2xvYmFsU3VyZmFjZVBvb2woKS0+Y3JlYXRlQnVmZmVycygpOworICAgIHJlc3VtZUJh
Y2tpbmdTdG9yZVVwZGF0ZXMoKTsKIH0KIAogdm9pZCBCYWNraW5nU3RvcmU6OnJlbGVhc2VCYWNr
aW5nU3RvcmVNZW1vcnkoKQogeworICAgIHN1c3BlbmRCYWNraW5nU3RvcmVVcGRhdGVzKCk7CiAg
ICAgaWYgKEJhY2tpbmdTdG9yZVByaXZhdGU6OnNfY3VycmVudEJhY2tpbmdTdG9yZU93bmVyID09
IGQtPm1fd2ViUGFnZSkKICAgICAgICAgU3VyZmFjZVBvb2w6Omdsb2JhbFN1cmZhY2VQb29sKCkt
PnJlbGVhc2VCdWZmZXJzKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVy
cnkvQXBpL0JhY2tpbmdTdG9yZS5oIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9CYWNr
aW5nU3RvcmUuaAppbmRleCAyNTAxYzk4Li5hNWY5OWI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2JsYWNrYmVycnkvQXBpL0JhY2tpbmdTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxh
Y2tiZXJyeS9BcGkvQmFja2luZ1N0b3JlLmgKQEAgLTUzLDggKzUzLDExIEBAIHB1YmxpYzoKIAog
ICAgIHZvaWQgY3JlYXRlU3VyZmFjZSgpOwogCi0gICAgdm9pZCBzdXNwZW5kU2NyZWVuQW5kQmFj
a2luZ1N0b3JlVXBkYXRlcygpOwotICAgIHZvaWQgcmVzdW1lU2NyZWVuQW5kQmFja2luZ1N0b3Jl
VXBkYXRlcyhSZXN1bWVVcGRhdGVPcGVyYXRpb24pOworICAgIHZvaWQgc3VzcGVuZEJhY2tpbmdT
dG9yZVVwZGF0ZXMoKTsKKyAgICB2b2lkIHJlc3VtZUJhY2tpbmdTdG9yZVVwZGF0ZXMoKTsKKwor
ICAgIHZvaWQgc3VzcGVuZFNjcmVlblVwZGF0ZXMoKTsKKyAgICB2b2lkIHJlc3VtZVNjcmVlblVw
ZGF0ZXMoQmFja2luZ1N0b3JlOjpSZXN1bWVVcGRhdGVPcGVyYXRpb24pOwogCiAgICAgYm9vbCBp
c1Njcm9sbGluZ09yWm9vbWluZygpIGNvbnN0OwogICAgIHZvaWQgc2V0U2Nyb2xsaW5nT3Jab29t
aW5nKGJvb2wpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9CYWNr
aW5nU3RvcmVfcC5oIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9CYWNraW5nU3RvcmVf
cC5oCmluZGV4IDhlNTJhMTIuLjUwMWQ0MjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxh
Y2tiZXJyeS9BcGkvQmFja2luZ1N0b3JlX3AuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVy
cnkvQXBpL0JhY2tpbmdTdG9yZV9wLmgKQEAgLTEyNiwxMSArMTI2LDE3IEBAIHB1YmxpYzoKIAog
ICAgIGJvb2wgaXNTdXNwZW5kZWQoKSBjb25zdCB7IHJldHVybiBtX3N1c3BlbmRCYWNraW5nU3Rv
cmVVcGRhdGVzOyB9CiAKKyAgICAvLyBTdXNwZW5kcyBhbGwgYmFja2luZ3N0b3JlIHVwZGF0ZXMg
c28gdGhhdCByZW5kZXJpbmcgdG8gdGhlIGJhY2tpbmdzdG9yZSBpcyBkaXNhYmxlZC4KKyAgICB2
b2lkIHN1c3BlbmRCYWNraW5nU3RvcmVVcGRhdGVzKCk7CisKKyAgICAvLyBSZXN1bWVzIGFsbCBi
YWNraW5nc3RvcmUgdXBkYXRlcyBzbyB0aGF0IHJlbmRlcmluZyB0byB0aGUgYmFja2luZ3N0b3Jl
IGlzIGVuYWJsZWQuCisgICAgdm9pZCByZXN1bWVCYWNraW5nU3RvcmVVcGRhdGVzKCk7CisKICAg
ICAvLyBTdXNwZW5kcyBhbGwgc2NyZWVuIHVwZGF0ZXMgc28gdGhhdCAnYmxpdFZpc2libGVDb250
ZW50cycgaXMgZGlzYWJsZWQuCi0gICAgdm9pZCBzdXNwZW5kU2NyZWVuQW5kQmFja2luZ1N0b3Jl
VXBkYXRlcygpOworICAgIHZvaWQgc3VzcGVuZFNjcmVlblVwZGF0ZXMoKTsKIAogICAgIC8vIFJl
c3VtZXMgYWxsIHNjcmVlbiB1cGRhdGVzIHNvIHRoYXQgJ2JsaXRWaXNpYmxlQ29udGVudHMnIGlz
IGVuYWJsZWQuCi0gICAgdm9pZCByZXN1bWVTY3JlZW5BbmRCYWNraW5nU3RvcmVVcGRhdGVzKEJh
Y2tpbmdTdG9yZTo6UmVzdW1lVXBkYXRlT3BlcmF0aW9uKTsKKyAgICB2b2lkIHJlc3VtZVNjcmVl
blVwZGF0ZXMoQmFja2luZ1N0b3JlOjpSZXN1bWVVcGRhdGVPcGVyYXRpb24pOwogCiAgICAgLy8g
VGhlIGZ1bmN0aW9ucyByZXBhaW50KCksIHNsb3dTY3JvbGwoKSwgc2Nyb2xsKCksIHNjcm9sbGlu
Z1N0YXJ0ZWRIZWxwZXIoKSBhcmUKICAgICAvLyBjYWxsZWQgZnJvbSBvdXRzaWRlIFdlYktpdCBh
bmQgd2l0aGluIFdlYktpdCB2aWEgQ2hyb21lQ2xpZW50QmxhY2tCZXJyeS4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0
L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2UuY3BwCmluZGV4IGJmZGYxNjQ0Li42MTdkZmRmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2UuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZS5jcHAKQEAgLTEwOTMsNyArMTA5Myw5
IEBAIHZvaWQgV2ViUGFnZVByaXZhdGU6OnNldExvYWRTdGF0ZShMb2FkU3RhdGUgc3RhdGUpCiAj
ZW5kaWYKIAogICAgICAgICAgICAgLy8gU3VzcGVuZCBzY3JlZW4gdXBkYXRlIHRvIGF2b2lkIHVp
IHRocmVhZCBibGl0dGluZyB3aGlsZSByZXNldHRpbmcgYmFja2luZ3N0b3JlLgotICAgICAgICAg
ICAgbV9iYWNraW5nU3RvcmUtPmQtPnN1c3BlbmRTY3JlZW5BbmRCYWNraW5nU3RvcmVVcGRhdGVz
KCk7CisgICAgICAgICAgICAvLyBGSVhNRTogRG8gd2UgcmVhbGx5IG5lZWQgdG8gc3VzcGVuZC9y
ZXN1bWUgYm90aCBiYWNraW5nc3RvcmUgYW5kIHNjcmVlbiBoZXJlPworICAgICAgICAgICAgbV9i
YWNraW5nU3RvcmUtPmQtPnN1c3BlbmRCYWNraW5nU3RvcmVVcGRhdGVzKCk7CisgICAgICAgICAg
ICBtX2JhY2tpbmdTdG9yZS0+ZC0+c3VzcGVuZFNjcmVlblVwZGF0ZXMoKTsKIAogICAgICAgICAg
ICAgbV9wcmV2aW91c0NvbnRlbnRzU2l6ZSA9IEludFNpemUoKTsKICAgICAgICAgICAgIG1fYmFj
a2luZ1N0b3JlLT5kLT5yZXNldFJlbmRlclF1ZXVlKCk7CkBAIC0xMTUyLDcgKzExNTQsOSBAQCB2
b2lkIFdlYlBhZ2VQcml2YXRlOjpzZXRMb2FkU3RhdGUoTG9hZFN0YXRlIHN0YXRlKQogICAgICAg
ICAgICAgc2V0U2Nyb2xsUG9zaXRpb24oSW50UG9pbnQ6Onplcm8oKSk7CiAgICAgICAgICAgICBu
b3RpZnlUcmFuc2Zvcm1lZFNjcm9sbENoYW5nZWQoKTsKIAotICAgICAgICAgICAgbV9iYWNraW5n
U3RvcmUtPmQtPnJlc3VtZVNjcmVlbkFuZEJhY2tpbmdTdG9yZVVwZGF0ZXMoQmFja2luZ1N0b3Jl
OjpOb25lKTsKKyAgICAgICAgICAgIC8vIEZJWE1FOiBEbyB3ZSByZWFsbHkgbmVlZCB0byBzdXNw
ZW5kL3Jlc3VtZSBib3RoIGJhY2tpbmdzdG9yZSBhbmQgc2NyZWVuIGhlcmU/CisgICAgICAgICAg
ICBtX2JhY2tpbmdTdG9yZS0+ZC0+cmVzdW1lQmFja2luZ1N0b3JlVXBkYXRlcygpOworICAgICAg
ICAgICAgbV9iYWNraW5nU3RvcmUtPmQtPnJlc3VtZVNjcmVlblVwZGF0ZXMoQmFja2luZ1N0b3Jl
OjpOb25lKTsKIAogICAgICAgICAgICAgLy8gUGFpbnRzIHRoZSB2aXNpYmxlIGJhY2tpbmdzdG9y
ZSBhcyB3aGl0ZS4gTm90ZSBpdCBpcyBpbXBvcnRhbnQgd2UgZG8KICAgICAgICAgICAgIC8vIHRo
aXMgc3RyaWN0bHkgYWZ0ZXIgcmUtc2V0dGluZyB0aGUgc2Nyb2xsIHBvc2l0aW9uIHRvIG9yaWdp
biBhbmQgcmVzZXR0aW5nCkBAIC0xMjU0LDcgKzEyNTgsOSBAQCBib29sIFdlYlBhZ2VQcml2YXRl
Ojp6b29tQWJvdXRQb2ludChkb3VibGUgdW5jbGFtcGVkU2NhbGUsIGNvbnN0IEZsb2F0UG9pbnQm
IGFuYwogICAgICptX3RyYW5zZm9ybWF0aW9uTWF0cml4ID0gem9vbTsKIAogICAgIC8vIFN1c3Bl
bmQgYWxsIHNjcmVlbiB1cGRhdGVzIHRvIHRoZSBiYWNraW5nc3RvcmUuCi0gICAgbV9iYWNraW5n
U3RvcmUtPmQtPnN1c3BlbmRTY3JlZW5BbmRCYWNraW5nU3RvcmVVcGRhdGVzKCk7CisgICAgLy8g
RklYTUU6IERvIHdlIHJlYWxseSBuZWVkIHRvIHN1c3BlbmQvcmVzdW1lIGJvdGggYmFja2luZ3N0
b3JlIGFuZCBzY3JlZW4gaGVyZT8KKyAgICBtX2JhY2tpbmdTdG9yZS0+ZC0+c3VzcGVuZEJhY2tp
bmdTdG9yZVVwZGF0ZXMoKTsKKyAgICBtX2JhY2tpbmdTdG9yZS0+ZC0+c3VzcGVuZFNjcmVlblVw
ZGF0ZXMoKTsKIAogICAgIHVwZGF0ZVZpZXdwb3J0U2l6ZSgpOwogCkBAIC0xMjkzLDEzICsxMjk5
LDE2IEBAIGJvb2wgV2ViUGFnZVByaXZhdGU6Onpvb21BYm91dFBvaW50KGRvdWJsZSB1bmNsYW1w
ZWRTY2FsZSwgY29uc3QgRmxvYXRQb2ludCYgYW5jCiAKICAgICBtX2NsaWVudC0+em9vbUNoYW5n
ZWQobV93ZWJQYWdlLT5pc01pblpvb21lZCgpLCBtX3dlYlBhZ2UtPmlzTWF4Wm9vbWVkKCksICFz
aG91bGRab29tT25Fc2NhcGUoKSwgY3VycmVudFNjYWxlKCkpOwogCisgICAgLy8gRklYTUU6IERv
IHdlIHJlYWxseSBuZWVkIHRvIHN1c3BlbmQvcmVzdW1lIGJvdGggYmFja2luZ3N0b3JlIGFuZCBz
Y3JlZW4gaGVyZT8KKyAgICBtX2JhY2tpbmdTdG9yZS0+ZC0+cmVzdW1lQmFja2luZ1N0b3JlVXBk
YXRlcygpOworCiAgICAgLy8gQ2xlYXIgd2luZG93IHRvIG1ha2Ugc3VyZSB0aGVyZSBhcmUgbm8g
YXJ0aWZhY3RzLgogICAgIGlmIChzaG91bGRSZW5kZXIpIHsKICAgICAgICAgLy8gUmVzdW1lIGFs
bCBzY3JlZW4gdXBkYXRlcyB0byB0aGUgYmFja2luZ3N0b3JlIGFuZCByZW5kZXIrYmxpdCB2aXNp
YmxlIGNvbnRlbnRzIHRvIHNjcmVlbi4KLSAgICAgICAgbV9iYWNraW5nU3RvcmUtPmQtPnJlc3Vt
ZVNjcmVlbkFuZEJhY2tpbmdTdG9yZVVwZGF0ZXMoQmFja2luZ1N0b3JlOjpSZW5kZXJBbmRCbGl0
KTsKKyAgICAgICAgbV9iYWNraW5nU3RvcmUtPmQtPnJlc3VtZVNjcmVlblVwZGF0ZXMoQmFja2lu
Z1N0b3JlOjpSZW5kZXJBbmRCbGl0KTsKICAgICB9IGVsc2UgewogICAgICAgICAvLyBSZXN1bWUg
YWxsIHNjcmVlbiB1cGRhdGVzIHRvIHRoZSBiYWNraW5nc3RvcmUgYnV0IGRvIG5vdCBibGl0IHRv
IHRoZSBzY3JlZW4gYmVjYXVzZSB3ZSBub3QgcmVuZGVyaW5nLgotICAgICAgICBtX2JhY2tpbmdT
dG9yZS0+ZC0+cmVzdW1lU2NyZWVuQW5kQmFja2luZ1N0b3JlVXBkYXRlcyhCYWNraW5nU3RvcmU6
Ok5vbmUpOworICAgICAgICBtX2JhY2tpbmdTdG9yZS0+ZC0+cmVzdW1lU2NyZWVuVXBkYXRlcyhC
YWNraW5nU3RvcmU6Ok5vbmUpOwogICAgIH0KIAogICAgIHJldHVybiB0cnVlOwpAQCAtMzAxOCw3
ICszMDI3LDkgQEAgdm9pZCBXZWJQYWdlUHJpdmF0ZTo6em9vbUJsb2NrKCkKICAgICB6b29tLnNj
YWxlKG1fYmxvY2tab29tRmluYWxTY2FsZSk7CiAgICAgKm1fdHJhbnNmb3JtYXRpb25NYXRyaXgg
PSB6b29tOwogICAgIG1fY2xpZW50LT5yZXNldEJpdG1hcFpvb21TY2FsZShtX2Jsb2NrWm9vbUZp
bmFsU2NhbGUpOwotICAgIG1fYmFja2luZ1N0b3JlLT5kLT5zdXNwZW5kU2NyZWVuQW5kQmFja2lu
Z1N0b3JlVXBkYXRlcygpOworICAgIC8vIEZJWE1FOiBEbyB3ZSByZWFsbHkgbmVlZCB0byBzdXNw
ZW5kL3Jlc3VtZSBib3RoIGJhY2tpbmdzdG9yZSBhbmQgc2NyZWVuIGhlcmU/CisgICAgbV9iYWNr
aW5nU3RvcmUtPmQtPnN1c3BlbmRCYWNraW5nU3RvcmVVcGRhdGVzKCk7CisgICAgbV9iYWNraW5n
U3RvcmUtPmQtPnN1c3BlbmRTY3JlZW5VcGRhdGVzKCk7CiAgICAgdXBkYXRlVmlld3BvcnRTaXpl
KCk7CiAKICNpZiBFTkFCTEUoVklFV1BPUlRfUkVGTE9XKQpAQCAtMzA3NSw3ICszMDg2LDkgQEAg
dm9pZCBXZWJQYWdlUHJpdmF0ZTo6em9vbUJsb2NrKCkKIAogICAgIG5vdGlmeVRyYW5zZm9ybUNo
YW5nZWQoKTsKICAgICBtX2NsaWVudC0+em9vbUNoYW5nZWQobV93ZWJQYWdlLT5pc01pblpvb21l
ZCgpLCBtX3dlYlBhZ2UtPmlzTWF4Wm9vbWVkKCksICFzaG91bGRab29tT25Fc2NhcGUoKSwgY3Vy
cmVudFNjYWxlKCkpOwotICAgIG1fYmFja2luZ1N0b3JlLT5kLT5yZXN1bWVTY3JlZW5BbmRCYWNr
aW5nU3RvcmVVcGRhdGVzKEJhY2tpbmdTdG9yZTo6UmVuZGVyQW5kQmxpdCk7CisgICAgLy8gRklY
TUU6IERvIHdlIHJlYWxseSBuZWVkIHRvIHN1c3BlbmQvcmVzdW1lIGJvdGggYmFja2luZ3N0b3Jl
IGFuZCBzY3JlZW4gaGVyZT8KKyAgICBtX2JhY2tpbmdTdG9yZS0+ZC0+cmVzdW1lQmFja2luZ1N0
b3JlVXBkYXRlcygpOworICAgIG1fYmFja2luZ1N0b3JlLT5kLT5yZXN1bWVTY3JlZW5VcGRhdGVz
KEJhY2tpbmdTdG9yZTo6UmVuZGVyQW5kQmxpdCk7CiB9CiAKIHZvaWQgV2ViUGFnZTo6YmxvY2ta
b29tQW5pbWF0aW9uRmluaXNoZWQoKQpAQCAtMzExMiw3ICszMTI1LDkgQEAgdm9pZCBXZWJQYWdl
OjpkZXN0cm95KCkKICAgICBkaXNhYmxlV2ViSW5zcGVjdG9yKCk7CiAKICAgICAvLyBXZWJQYWdl
OjpkZXN0cm95V2ViUGFnZUNvbXBvc2l0b3IoKQotICAgIGQtPm1fYmFja2luZ1N0b3JlLT5kLT5z
dXNwZW5kU2NyZWVuQW5kQmFja2luZ1N0b3JlVXBkYXRlcygpOworICAgIC8vIEZJWE1FOiBEbyB3
ZSByZWFsbHkgbmVlZCB0byBzdXNwZW5kL3Jlc3VtZSBib3RoIGJhY2tpbmdzdG9yZSBhbmQgc2Ny
ZWVuIGhlcmU/CisgICAgZC0+bV9iYWNraW5nU3RvcmUtPmQtPnN1c3BlbmRCYWNraW5nU3RvcmVV
cGRhdGVzKCk7CisgICAgZC0+bV9iYWNraW5nU3RvcmUtPmQtPnN1c3BlbmRTY3JlZW5VcGRhdGVz
KCk7CiAKICAgICAvLyBDbG9zZSB0aGUgYmFja2ZvcndhcmQgbGlzdCBhbmQgcmVsZWFzZSB0aGUg
Y2FjaGVkIHBhZ2VzLgogICAgIGQtPm1fcGFnZS0+YmFja0ZvcndhcmQoKS0+Y2xvc2UoKTsKQEAg
LTM2NDcsNyArMzY2Miw5IEBAIHZvaWQgV2ViUGFnZVByaXZhdGU6OnNldFZpZXdwb3J0U2l6ZShj
b25zdCBJbnRTaXplJiB0cmFuc2Zvcm1lZEFjdHVhbFZpc2libGVTaXplCiAKICAgICAvLyBTdXNw
ZW5kIGFsbCBzY3JlZW4gdXBkYXRlcyB0byB0aGUgYmFja2luZ3N0b3JlIHRvIG1ha2Ugc3VyZSBu
by1vbmUgdHJpZXMgdG8gYmxpdAogICAgIC8vIHdoaWxlIHRoZSB3aW5kb3cgc3VyZmFjZSBhbmQg
dGhlIEJhY2tpbmdTdG9yZSBhcmUgb3V0IG9mIHN5bmMuCi0gICAgbV9iYWNraW5nU3RvcmUtPmQt
PnN1c3BlbmRTY3JlZW5BbmRCYWNraW5nU3RvcmVVcGRhdGVzKCk7CisgICAgLy8gRklYTUU6IERv
IHdlIHJlYWxseSBuZWVkIHRvIHN1c3BlbmQvcmVzdW1lIGJvdGggYmFja2luZ3N0b3JlIGFuZCBz
Y3JlZW4gaGVyZT8KKyAgICBtX2JhY2tpbmdTdG9yZS0+ZC0+c3VzcGVuZEJhY2tpbmdTdG9yZVVw
ZGF0ZXMoKTsKKyAgICBtX2JhY2tpbmdTdG9yZS0+ZC0+c3VzcGVuZFNjcmVlblVwZGF0ZXMoKTsK
IAogICAgIC8vIFRoZSBzY3JlZW4gcm90YXRpb24gaXMgYSBtYWpvciBzdGF0ZSB0cmFuc2l0aW9u
IHRoYXQgaW4gdGhpcyBjYXNlIGlzIG5vdCBwcm9wZXJseQogICAgIC8vIGNvbW11bmljYXRlZCB0
byB0aGUgYmFja2luZyBzdG9yZSwgc2luY2UgaXQgZG9lcyBlYXJseSByZXR1cm4gaW4gbW9zdCBt
ZXRob2RzIHdoZW4KQEAgLTM3NjUsNyArMzc4Miw5IEBAIHZvaWQgV2ViUGFnZVByaXZhdGU6OnNl
dFZpZXdwb3J0U2l6ZShjb25zdCBJbnRTaXplJiB0cmFuc2Zvcm1lZEFjdHVhbFZpc2libGVTaXpl
CiAKICAgICAvLyBOZWVkIHRvIHJlc3VtZSBzbyB0aGF0IHRoZSBiYWNraW5nc3RvcmUgd2lsbCBz
dGFydCByZWNvcmRpbmcgdGhlIGludmFsaWRhdGVkCiAgICAgLy8gcmVjdHMgZnJvbSBiZWxvdy4K
LSAgICBtX2JhY2tpbmdTdG9yZS0+ZC0+cmVzdW1lU2NyZWVuQW5kQmFja2luZ1N0b3JlVXBkYXRl
cyhCYWNraW5nU3RvcmU6Ok5vbmUpOworICAgIC8vIEZJWE1FOiBEbyB3ZSByZWFsbHkgbmVlZCB0
byBzdXNwZW5kL3Jlc3VtZSBib3RoIGJhY2tpbmdzdG9yZSBhbmQgc2NyZWVuIGhlcmU/CisgICAg
bV9iYWNraW5nU3RvcmUtPmQtPnJlc3VtZUJhY2tpbmdTdG9yZVVwZGF0ZXMoKTsKKyAgICBtX2Jh
Y2tpbmdTdG9yZS0+ZC0+cmVzdW1lU2NyZWVuVXBkYXRlcyhCYWNraW5nU3RvcmU6Ok5vbmUpOwog
CiAgICAgLy8gV2UgbWlnaHQgbmVlZCB0byBsYXlvdXQgaGVyZSB0byBnZXQgYSBjb3JyZWN0IGNv
bnRlbnRzU2l6ZSBzbyB0aGF0IHpvb21Ub0ZpdAogICAgIC8vIGlzIGNhbGN1bGF0ZWQgY29ycmVj
dGx5LgpAQCAtMzgzOCw3ICszODU3LDkgQEAgdm9pZCBXZWJQYWdlUHJpdmF0ZTo6c2V0Vmlld3Bv
cnRTaXplKGNvbnN0IEludFNpemUmIHRyYW5zZm9ybWVkQWN0dWFsVmlzaWJsZVNpemUKICAgICB9
IGVsc2UgewogCiAgICAgICAgIC8vIFN1c3BlbmQgYWxsIHNjcmVlbiB1cGRhdGVzIHRvIHRoZSBi
YWNraW5nc3RvcmUuCi0gICAgICAgIG1fYmFja2luZ1N0b3JlLT5kLT5zdXNwZW5kU2NyZWVuQW5k
QmFja2luZ1N0b3JlVXBkYXRlcygpOworICAgICAgICAvLyBGSVhNRTogRG8gd2UgcmVhbGx5IG5l
ZWQgdG8gc3VzcGVuZC9yZXN1bWUgYm90aCBiYWNraW5nc3RvcmUgYW5kIHNjcmVlbiBoZXJlPwor
ICAgICAgICBtX2JhY2tpbmdTdG9yZS0+ZC0+c3VzcGVuZEJhY2tpbmdTdG9yZVVwZGF0ZXMoKTsK
KyAgICAgICAgbV9iYWNraW5nU3RvcmUtPmQtPnN1c3BlbmRTY3JlZW5VcGRhdGVzKCk7CiAKICAg
ICAgICAgLy8gSWYgdGhlIHpvb20gZmFpbGVkLCB0aGVuIHdlIHNob3VsZCBzdGlsbCBwcmVzZXJ2
ZSB0aGUgc3BlY2lhbCBjYXNlIG9mIHNjcm9sbCBwb3NpdGlvbi4KICAgICAgICAgSW50UG9pbnQg
c2Nyb2xsUG9zaXRpb24gPSB0aGlzLT5zY3JvbGxQb3NpdGlvbigpOwpAQCAtMzg2Niw3ICszODg3
LDkgQEAgdm9pZCBXZWJQYWdlUHJpdmF0ZTo6c2V0Vmlld3BvcnRTaXplKGNvbnN0IEludFNpemUm
IHRyYW5zZm9ybWVkQWN0dWFsVmlzaWJsZVNpemUKICAgICAgICAgfQogCiAgICAgICAgIC8vIElm
IHdlIG5lZWQgbGF5b3V0IHRoZW4gcmVuZGVyIGFuZCBibGl0LCBvdGhlcndpc2UganVzdCBibGl0
IGFzIG91ciB2aWV3cG9ydCBoYXMgY2hhbmdlZC4KLSAgICAgICAgbV9iYWNraW5nU3RvcmUtPmQt
PnJlc3VtZVNjcmVlbkFuZEJhY2tpbmdTdG9yZVVwZGF0ZXMobmVlZHNMYXlvdXQgPyBCYWNraW5n
U3RvcmU6OlJlbmRlckFuZEJsaXQgOiBCYWNraW5nU3RvcmU6OkJsaXQpOworICAgICAgICAvLyBG
SVhNRTogRG8gd2UgcmVhbGx5IG5lZWQgdG8gc3VzcGVuZC9yZXN1bWUgYm90aCBiYWNraW5nc3Rv
cmUgYW5kIHNjcmVlbiBoZXJlPworICAgICAgICBtX2JhY2tpbmdTdG9yZS0+ZC0+cmVzdW1lQmFj
a2luZ1N0b3JlVXBkYXRlcygpOworICAgICAgICBtX2JhY2tpbmdTdG9yZS0+ZC0+cmVzdW1lU2Ny
ZWVuVXBkYXRlcyhuZWVkc0xheW91dCA/IEJhY2tpbmdTdG9yZTo6UmVuZGVyQW5kQmxpdCA6IEJh
Y2tpbmdTdG9yZTo6QmxpdCk7CiAgICAgfQogfQogCkBAIC01NDQ2LDE1ICs1NDY5LDIxIEBAIHZv
aWQgV2ViUGFnZVByaXZhdGU6OnNldENvbXBvc2l0b3IoUGFzc1JlZlB0cjxXZWJQYWdlQ29tcG9z
aXRvclByaXZhdGU+IGNvbXBvc2l0CiAgICAgLy8gVGhhdCBzZWVtcyBleHRyZW1lbHkgbGlrZWx5
IHRvIGJlIHRoZSBjYXNlLCBidXQgbGV0J3MgYXNzZXJ0IGp1c3QgdG8gbWFrZSBzdXJlLgogICAg
IEFTU0VSVCh3ZWJLaXRUaHJlYWRNZXNzYWdlQ2xpZW50KCktPmlzQ3VycmVudFRocmVhZCgpKTsK
IAotICAgIGlmIChtX2NvbXBvc2l0b3IgfHwgbV9jbGllbnQtPndpbmRvdygpKQotICAgICAgICBt
X2JhY2tpbmdTdG9yZS0+ZC0+c3VzcGVuZFNjcmVlbkFuZEJhY2tpbmdTdG9yZVVwZGF0ZXMoKTsK
KyAgICBpZiAobV9jb21wb3NpdG9yIHx8IG1fY2xpZW50LT53aW5kb3coKSkgeworICAgICAgICAv
LyBGSVhNRTogRG8gd2UgcmVhbGx5IG5lZWQgdG8gc3VzcGVuZC9yZXN1bWUgYm90aCBiYWNraW5n
c3RvcmUgYW5kIHNjcmVlbiBoZXJlPworICAgICAgICBtX2JhY2tpbmdTdG9yZS0+ZC0+c3VzcGVu
ZEJhY2tpbmdTdG9yZVVwZGF0ZXMoKTsKKyAgICAgICAgbV9iYWNraW5nU3RvcmUtPmQtPnN1c3Bl
bmRTY3JlZW5VcGRhdGVzKCk7CisgICAgfQogCiAgICAgLy8gVGhlIG1fY29tcG9zaXRvciBtZW1i
ZXIgaGFzIHRvIGJlIG1vZGlmaWVkIGR1cmluZyBhIHN5bmMgY2FsbCBmb3IgdGhyZWFkCiAgICAg
Ly8gc2FmZSBhY2Nlc3MgdG8gbV9jb21wb3NpdG9yIGFuZCBpdHMgcmVmY291bnQuCiAgICAgdXNl
ckludGVyZmFjZVRocmVhZE1lc3NhZ2VDbGllbnQoKS0+ZGlzcGF0Y2hTeW5jTWVzc2FnZShjcmVh
dGVNZXRob2RDYWxsTWVzc2FnZSgmV2ViUGFnZVByaXZhdGU6OnNldENvbXBvc2l0b3JIZWxwZXIs
IHRoaXMsIGNvbXBvc2l0b3IpKTsKIAotICAgIGlmIChtX2NvbXBvc2l0b3IgfHwgbV9jbGllbnQt
PndpbmRvdygpKSAvLyB0aGUgbmV3IGNvbXBvc2l0b3IsIGlmIG9uZSB3YXMgc2V0Ci0gICAgICAg
IG1fYmFja2luZ1N0b3JlLT5kLT5yZXN1bWVTY3JlZW5BbmRCYWNraW5nU3RvcmVVcGRhdGVzKEJh
Y2tpbmdTdG9yZTo6UmVuZGVyQW5kQmxpdCk7CisgICAgaWYgKG1fY29tcG9zaXRvciB8fCBtX2Ns
aWVudC0+d2luZG93KCkpIHsgLy8gdGhlIG5ldyBjb21wb3NpdG9yLCBpZiBvbmUgd2FzIHNldAor
ICAgICAgICAvLyBGSVhNRTogRG8gd2UgcmVhbGx5IG5lZWQgdG8gc3VzcGVuZC9yZXN1bWUgYm90
aCBiYWNraW5nc3RvcmUgYW5kIHNjcmVlbiBoZXJlPworICAgICAgICBtX2JhY2tpbmdTdG9yZS0+
ZC0+cmVzdW1lQmFja2luZ1N0b3JlVXBkYXRlcygpOworICAgICAgICBtX2JhY2tpbmdTdG9yZS0+
ZC0+cmVzdW1lU2NyZWVuVXBkYXRlcyhCYWNraW5nU3RvcmU6OlJlbmRlckFuZEJsaXQpOworICAg
IH0KIH0KIAogdm9pZCBXZWJQYWdlUHJpdmF0ZTo6c2V0Q29tcG9zaXRvckhlbHBlcihQYXNzUmVm
UHRyPFdlYlBhZ2VDb21wb3NpdG9yUHJpdmF0ZT4gY29tcG9zaXRvcikKQEAgLTU5MTEsNyArNTk0
MCw5IEBAIHZvaWQgV2ViUGFnZVByaXZhdGU6OmV4aXRGdWxsU2NyZWVuRm9yRWxlbWVudChFbGVt
ZW50KiBlbGVtZW50KQogICAgICAgICAvLyBUaGUgQnJvd3NlciBjaHJvbWUgaGFzIGl0cyBvd24g
ZnVsbHNjcmVlbiB2aWRlbyB3aWRnZXQuCiAgICAgICAgIGV4aXRGdWxsc2NyZWVuRm9yTm9kZShl
bGVtZW50KTsKICAgICB9IGVsc2UgewotICAgICAgICBtX2JhY2tpbmdTdG9yZS0+ZC0+c3VzcGVu
ZFNjcmVlbkFuZEJhY2tpbmdTdG9yZVVwZGF0ZXMoKTsKKyAgICAgICAgLy8gRklYTUU6IERvIHdl
IHJlYWxseSBuZWVkIHRvIHN1c3BlbmQvcmVzdW1lIGJvdGggYmFja2luZ3N0b3JlIGFuZCBzY3Jl
ZW4gaGVyZT8KKyAgICAgICAgbV9iYWNraW5nU3RvcmUtPmQtPnN1c3BlbmRCYWNraW5nU3RvcmVV
cGRhdGVzKCk7CisgICAgICAgIG1fYmFja2luZ1N0b3JlLT5kLT5zdXNwZW5kU2NyZWVuVXBkYXRl
cygpOwogCiAgICAgICAgIC8vIFdoZW4gbGVhdmluZyBmdWxsc2NyZWVuIG1vZGUsIHdlIG5lZWQg
dG8gcmVzdG9yZSB0aGUgJ3gnIHNjcm9sbCBwb3NpdGlvbgogICAgICAgICAvLyBiZWZvcmUgZnVs
bHNjcmVlbi4KQEAgLTU5MzIsNyArNTk2Myw5IEBAIHZvaWQgV2ViUGFnZVByaXZhdGU6OmV4aXRG
dWxsU2NyZWVuRm9yRWxlbWVudChFbGVtZW50KiBlbGVtZW50KQogICAgICAgICB9CiAKICAgICAg
ICAgbm90aWZ5VHJhbnNmb3JtQ2hhbmdlZCgpOwotICAgICAgICBtX2JhY2tpbmdTdG9yZS0+ZC0+
cmVzdW1lU2NyZWVuQW5kQmFja2luZ1N0b3JlVXBkYXRlcyhCYWNraW5nU3RvcmU6OlJlbmRlckFu
ZEJsaXQpOworICAgICAgICAvLyBGSVhNRTogRG8gd2UgcmVhbGx5IG5lZWQgdG8gc3VzcGVuZC9y
ZXN1bWUgYm90aCBiYWNraW5nc3RvcmUgYW5kIHNjcmVlbiBoZXJlPworICAgICAgICBtX2JhY2tp
bmdTdG9yZS0+ZC0+cmVzdW1lQmFja2luZ1N0b3JlVXBkYXRlcygpOworICAgICAgICBtX2JhY2tp
bmdTdG9yZS0+ZC0+cmVzdW1lU2NyZWVuVXBkYXRlcyhCYWNraW5nU3RvcmU6OlJlbmRlckFuZEJs
aXQpOwogCiAgICAgICAgIC8vIFRoaXMgaXMgd2hlcmUgd2Ugd291bGQgcmVzdG9yZSB0aGUgYnJv
d3NlcidzIGNocm9tZQogICAgICAgICAvLyBpZiBoaWRkZW4gYWJvdmUuCkBAIC02Mjk1LDcgKzYz
MjgsOSBAQCB2b2lkIFdlYlBhZ2VQcml2YXRlOjpzZXRUZXh0Wm9vbUZhY3RvcihmbG9hdCB0ZXh0
Wm9vbUZhY3RvcikKIHZvaWQgV2ViUGFnZVByaXZhdGU6OnJlc3RvcmVIaXN0b3J5Vmlld1N0YXRl
KFBsYXRmb3JtOjpJbnRTaXplIGNvbnRlbnRzU2l6ZSwgUGxhdGZvcm06OkludFBvaW50IHNjcm9s
bFBvc2l0aW9uLCBkb3VibGUgc2NhbGUsIGJvb2wgc2hvdWxkUmVmbG93QmxvY2spCiB7CiAgICAg
aWYgKCFtX21haW5GcmFtZSkgewotICAgICAgICBtX2JhY2tpbmdTdG9yZS0+ZC0+cmVzdW1lU2Ny
ZWVuQW5kQmFja2luZ1N0b3JlVXBkYXRlcyhCYWNraW5nU3RvcmU6OlJlbmRlckFuZEJsaXQpOwor
ICAgICAgICAvLyBGSVhNRTogRG8gd2UgcmVhbGx5IG5lZWQgdG8gc3VzcGVuZC9yZXN1bWUgYm90
aCBiYWNraW5nc3RvcmUgYW5kIHNjcmVlbiBoZXJlPworICAgICAgICBtX2JhY2tpbmdTdG9yZS0+
ZC0+cmVzdW1lQmFja2luZ1N0b3JlVXBkYXRlcygpOworICAgICAgICBtX2JhY2tpbmdTdG9yZS0+
ZC0+cmVzdW1lU2NyZWVuVXBkYXRlcyhCYWNraW5nU3RvcmU6OlJlbmRlckFuZEJsaXQpOwogICAg
ICAgICByZXR1cm47CiAgICAgfQogCkBAIC02MzEzLDcgKzYzNDgsOSBAQCB2b2lkIFdlYlBhZ2VQ
cml2YXRlOjpyZXN0b3JlSGlzdG9yeVZpZXdTdGF0ZShQbGF0Zm9ybTo6SW50U2l6ZSBjb250ZW50
c1NpemUsIFBsYQogICAgIGJvb2wgZGlkWm9vbSA9IHpvb21BYm91dFBvaW50KHNjYWxlLCBtX21h
aW5GcmFtZS0+dmlldygpLT5zY3JvbGxQb3NpdGlvbigpLCB0cnVlIC8qIGVuZm9yY2VTY2FsZUNs
YW1waW5nICovLCB0cnVlIC8qZm9yY2VSZW5kZXJpbmcqLywgdHJ1ZSAvKmlzUmVzdG9yaW5nWm9v
bUxldmVsKi8pOwogICAgIC8vIElmIHdlJ3JlIGFscmVhZHkgYXQgdGhhdCBzY2FsZSwgdGhlbiB3
ZSBzaG91bGQgc3RpbGwgZm9yY2UgcmVuZGVyaW5nCiAgICAgLy8gc2luY2Ugb3VyIHNjcm9sbCBw
b3NpdGlvbiBjaGFuZ2VkLgotICAgIG1fYmFja2luZ1N0b3JlLT5kLT5yZXN1bWVTY3JlZW5BbmRC
YWNraW5nU3RvcmVVcGRhdGVzKEJhY2tpbmdTdG9yZTo6UmVuZGVyQW5kQmxpdCk7CisgICAgLy8g
RklYTUU6IERvIHdlIHJlYWxseSBuZWVkIHRvIHN1c3BlbmQvcmVzdW1lIGJvdGggYmFja2luZ3N0
b3JlIGFuZCBzY3JlZW4gaGVyZT8KKyAgICBtX2JhY2tpbmdTdG9yZS0+ZC0+cmVzdW1lQmFja2lu
Z1N0b3JlVXBkYXRlcygpOworICAgIG1fYmFja2luZ1N0b3JlLT5kLT5yZXN1bWVTY3JlZW5VcGRh
dGVzKEJhY2tpbmdTdG9yZTo6UmVuZGVyQW5kQmxpdCk7CiAKICAgICBpZiAoIWRpZFpvb20pIHsK
ICAgICAgICAgLy8gV2UgbmVlZCB0byBub3RpZnkgdGhlIGNsaWVudCBvZiB0aGUgc2Nyb2xsIHBv
c2l0aW9uIGFuZCBjb250ZW50IHNpemUgY2hhbmdlKHMpIGFib3ZlIGV2ZW4gaWYgd2UgZGlkbid0
IHNjYWxlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cKaW5kZXggOWJmZGQzMi4uYTZmMzcw
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDcgQEAKKzIwMTIt
MTEtMTMgIEFkYW0gVHJlYXQgIDxhdHJlYXRAcmltLmNvbT4KKworICAgICAgICBbQmxhY2tCZXJy
eV0gQnJlYWsgc3VzcGVuZC9yZXN1bWUgb2YgdGhlIGJhY2tpbmdzdG9yZSBhbmQgc2NyZWVuIGlu
dG8gc2VwYXJhdGUgbWV0aG9kcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTAyMTI2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisgICAgICAgIFBSIDIxOTk3NgorCisgICAgICAgIE1vZGlmeSB0aGUgc3VzcGVuZC9yZXN1bWUg
bWV0aG9kcyBzbyB0aGF0IHRoZXkgY2FuIGJlIGNhbGxlZCBmcm9tIHRoZSBVSSB0aHJlYWQKKyAg
ICAgICAgaXRzZWxmIGFuZCBzcGxpdCB1cCB0aGUgc3VzcGVuZC9yZXN1bWUgbWV0aG9kcyBzbyB0
aGF0IHdlIGNhbiBzdXNwZW5kL3Jlc3VtZQorICAgICAgICB0aGUgc2NyZWVuIG9yIGJhY2tpbmdz
dG9yZSBzZXBhcmF0ZWx5LgorCisgICAgICAgICogQXBpL0JhY2tpbmdTdG9yZS5jcHA6CisgICAg
ICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6OkJhY2tpbmdTdG9yZVByaXZhdGU6OnN1c3BlbmRCYWNr
aW5nU3RvcmVVcGRhdGVzKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChCbGFja0JlcnJ5
OjpXZWJLaXQ6OkJhY2tpbmdTdG9yZVByaXZhdGU6OnN1c3BlbmRTY3JlZW5VcGRhdGVzKToKKyAg
ICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6QmFja2luZ1N0b3JlUHJpdmF0ZTo6cmVzdW1lQmFj
a2luZ1N0b3JlVXBkYXRlcyk6CisgICAgICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6OkJhY2tpbmdT
dG9yZVByaXZhdGU6OnJlc3VtZVNjcmVlblVwZGF0ZXMpOgorICAgICAgICAoQmxhY2tCZXJyeTo6
V2ViS2l0OjpCYWNraW5nU3RvcmVQcml2YXRlOjpibGl0VmlzaWJsZUNvbnRlbnRzKToKKyAgICAg
ICAgKEJsYWNrQmVycnk6OldlYktpdDo6QmFja2luZ1N0b3JlUHJpdmF0ZTo6Y3JlYXRlU3VyZmFj
ZXMpOgorICAgICAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpCYWNraW5nU3RvcmU6OnN1c3BlbmRC
YWNraW5nU3RvcmVVcGRhdGVzKToKKyAgICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6QmFja2lu
Z1N0b3JlOjpyZXN1bWVCYWNraW5nU3RvcmVVcGRhdGVzKToKKyAgICAgICAgKEJsYWNrQmVycnk6
OldlYktpdDo6QmFja2luZ1N0b3JlOjpzdXNwZW5kU2NyZWVuVXBkYXRlcyk6CisgICAgICAgIChC
bGFja0JlcnJ5OjpXZWJLaXQ6OkJhY2tpbmdTdG9yZTo6cmVzdW1lU2NyZWVuVXBkYXRlcyk6Cisg
ICAgICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6OkJhY2tpbmdTdG9yZTo6Y3JlYXRlQmFja2luZ1N0
b3JlTWVtb3J5KToKKyAgICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6QmFja2luZ1N0b3JlOjpy
ZWxlYXNlQmFja2luZ1N0b3JlTWVtb3J5KToKKyAgICAgICAgKiBBcGkvQmFja2luZ1N0b3JlLmg6
CisgICAgICAgICogQXBpL0JhY2tpbmdTdG9yZV9wLmg6CisgICAgICAgIChCYWNraW5nU3RvcmVQ
cml2YXRlKToKKyAgICAgICAgKiBBcGkvV2ViUGFnZS5jcHA6CisgICAgICAgIChCbGFja0JlcnJ5
OjpXZWJLaXQ6OldlYlBhZ2VQcml2YXRlOjpzZXRMb2FkU3RhdGUpOgorICAgICAgICAoQmxhY2tC
ZXJyeTo6V2ViS2l0OjpXZWJQYWdlUHJpdmF0ZTo6em9vbUFib3V0UG9pbnQpOgorICAgICAgICAo
QmxhY2tCZXJyeTo6V2ViS2l0OjpXZWJQYWdlUHJpdmF0ZTo6em9vbUJsb2NrKToKKyAgICAgICAg
KEJsYWNrQmVycnk6OldlYktpdDo6V2ViUGFnZTo6ZGVzdHJveSk6CisgICAgICAgIChCbGFja0Jl
cnJ5OjpXZWJLaXQ6OldlYlBhZ2VQcml2YXRlOjpzZXRWaWV3cG9ydFNpemUpOgorICAgICAgICAo
QmxhY2tCZXJyeTo6V2ViS2l0OjpXZWJQYWdlUHJpdmF0ZTo6c2V0Q29tcG9zaXRvcik6CisgICAg
ICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6OldlYlBhZ2VQcml2YXRlOjpleGl0RnVsbFNjcmVlbkZv
ckVsZW1lbnQpOgorICAgICAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpXZWJQYWdlUHJpdmF0ZTo6
cmVzdG9yZUhpc3RvcnlWaWV3U3RhdGUpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0ZyYW1l
TG9hZGVyQ2xpZW50QmxhY2tCZXJyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRl
ckNsaWVudEJsYWNrQmVycnk6OnRyYW5zaXRpb25Ub0NvbW1pdHRlZEZvck5ld1BhZ2UpOgorICAg
ICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnRCbGFja0JlcnJ5OjpyZXN0b3JlVmlld1N0
YXRlKToKKyAgICAgICAgKiBXZWJLaXRTdXBwb3J0L0lucHV0SGFuZGxlci5jcHA6CisgICAgICAg
IChCbGFja0JlcnJ5OjpXZWJLaXQ6OklucHV0SGFuZGxlcjo6c2V0QmF0Y2hFZGl0aW5nQWN0aXZl
KToKKwogMjAxMi0xMS0wMiAgT3R0byBEZXJlayBDaGV1bmcgIDxvdGNoZXVuZ0ByaW0uY29tPgog
CiAgICAgICAgIFtCbGFja0JlcnJ5XSBBZGRpbmcgd2luZG93LmV4dGVybmFsIHRvIG91ciBwb3J0
CkBAIC0zMyw3ICs3Nyw3IEBACiAKICAgICAgICAgW0JsYWNrQmVycnldIEFkZCBhIHByb21wdCB0
byBlbmFibGUgZ2xvYmFsIGxvY2F0aW9uIHNlcnZpY2VzCiAgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDA5OTIKLSAgICAgICAgCisKICAgICAgICAgUFIg
MjI3ODk3CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgUm9iIEJ1aXMuCkBAIC0yNDIsNyArMjg2LDcg
QEAKICAgICAgICAgT25lIFJlZlB0cjxHZW9sb2NhdGlvbj4gaXMgdXNlZCB0byBzdG9yZSB0aGUg
cmVmZXJlbmNlIG9mIHRoZSBXZWJDb3JlIG9iamVjdCBvbiBvdXIgcG9ydC4KIAogICAgICAgICBX
ZSBkb24ndCBuZWVkIGEgbWFwcGluZyBiZXR3ZWVuIG9yaWdpbiAtPiBjb250ZXh0IG9mIEdlb2xv
Y2F0aW9uIGJlY2F1c2UgaW4gb3VyIHBvcnQsCi0gICAgICAgIG9uZSBXZWJQYWdlLmNwcCBjb250
YWlucyBvbmUgR2VvbG9jYXRpb25Db250cm9sbGVyIG9ubHkuIAorICAgICAgICBvbmUgV2ViUGFn
ZS5jcHAgY29udGFpbnMgb25lIEdlb2xvY2F0aW9uQ29udHJvbGxlciBvbmx5LgogCiAgICAgICAg
ICogQXBpL1dlYlBhZ2VDbGllbnQuaDoKICAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9HZW9sb2Nh
dGlvbkNsaWVudEJsYWNrQmVycnkuY3BwOgpAQCAtMTg2OSw3ICsxOTEzLDcgQEAKICAgICAgICAg
UklNIFBSIyAyMDk4NDcuCiAgICAgICAgIEludGVybmFsbHkgcmV2aWV3ZWQgYnkgTWlrZSBGZW50
b24uCiAKLSAgICAgICAgU3RvcmUgdGhlIHBvaW50ZXIgaW4gYSByZWYtY291dG5lZCBzaGFyZWQg
b2JqZWN0LCBhbmQgY2xlYXIgdGhlIHBvaW50ZXIgCisgICAgICAgIFN0b3JlIHRoZSBwb2ludGVy
IGluIGEgcmVmLWNvdXRuZWQgc2hhcmVkIG9iamVjdCwgYW5kIGNsZWFyIHRoZSBwb2ludGVyCiAg
ICAgICAgIHdoZW4gdGhlIGNsaWVudCBpcyBnb2luZyB0byBiZSBkZXN0cm95ZWQsIHNvIGl0IHdv
bid0IGJlIGFjY2Vzc2VkIGJ5CiAgICAgICAgIHRoZSBKUyBmdW5jdGlvbiBhZnRlcndhcmRzLgog
CkBAIC00NDU0LDcgKzQ0OTgsNyBAQAogICAgICAgICBqYXZhc2NyaXB0IGNhbGxiYWNrIGJlZW4g
aW52b2tlZCBpbiB0aGUgc2FtZSBjeWNsZSBhcyB0aGUgamF2YXNjcmlwdCBpbiB0aGUKICAgICAg
ICAgUG9wdXAgVmlldywgYW5kIGNhdXNlcyBzb21lIEphdmFzY3JpcHQgQ29udGV4dCBwcm9ibGVt
LgogCi0gICAgICAgIFRoZSBzb2x1dGlvbiBpcyB0byBzZW5kIHRoZSBGb3JtQ29udHJvbENoYW5n
ZUV2ZW50IGFzeW5jaHJvbm91c2x5IGJ5IGEgdGltZXIsIAorICAgICAgICBUaGUgc29sdXRpb24g
aXMgdG8gc2VuZCB0aGUgRm9ybUNvbnRyb2xDaGFuZ2VFdmVudCBhc3luY2hyb25vdXNseSBieSBh
IHRpbWVyLAogICAgICAgICB3aGVuIHRoZSBKYXZhU2NyaXB0IGluIHRoZSBQb3B1cCB2aWV3IGZp
bmlzaGVzIGV4ZWN1dGlvbiwgd2UgdGhlbiBzZW5kIHRoZQogICAgICAgICBGb3JtQ29udHJvbENo
YW5nZUV2ZW50IHRvIHRoZSBzZWxlY3QgZWxlbWVudCBpbiB0aGUgY29udGVudCBwYWdlLCB0aGF0
IGF2b2lkcwogICAgICAgICB0aGUgY29uY3VycmVudCBKYXZhc2NyaXB0IGNvbnRleHQgaXNzdWUu
CkBAIC00ODU5LDkgKzQ5MDMsOSBAQAogICAgICAgICBbQmxhY2tCZXJyeV0gQWRkIHJlbGF5b3V0
IGFmdGVyIHVwZGF0aW5nIGZpeGVkIHJlcG9ydGVkIHNpemUKICAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkzMTE2CiAgICAgICAgIFBSICMxNjAwNTkKLSAg
ICAgICAgCisKICAgICAgICAgUmV2aWV3ZWQgYnkgQW50b25pbyBHb21lcy4KLSAgICAgICAgCisK
ICAgICAgICAgUmV2aWV3ZWQgaW50ZXJuYWxseSBieSBBbnRvbmlvIEdvbWVzLgogCiAgICAgICAg
IE9uIGFuIG9yaWVudGF0aW9uIGNoYW5nZSBhbmQgYWZ0ZXIgZml4ZWQgcmVwb3J0ZWQgc2l6ZSBp
cwpAQCAtNDg3MCw3ICs0OTE0LDcgQEAKICAgICAgICAgZml4ZWQgcG9zaXRpb24gZWxlbWVudHMg
dXNpbmcgcGVyY2VudGFnZSB2YWx1ZXMgd2l0aCB0aGUKICAgICAgICAgbmV3IGZpeGVkIHJlcG9y
dGVkIHNpemUuIE90aGVyd2lzZSB1c2luZyB0aGUgb2xkIGZpeGVkIHJlcG9ydGVkCiAgICAgICAg
IHNpemUgaW4gdGhlIG5ldyBvcmllbnRhdGlvbiBvdmVyZmxvd2luZyBvciBjbGlwcGluZyBjb3Vs
ZCBvY2N1ci4KLSAgICAgICAgCisKICAgICAgICAgKiBBcGkvV2ViUGFnZS5jcHA6CiAgICAgICAg
IChCbGFja0JlcnJ5OjpXZWJLaXQ6OldlYlBhZ2VQcml2YXRlOjpzZXRWaWV3cG9ydFNpemUpOgog
CkBAIC02ODIzLDkgKzY4NjcsOSBAQAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9OTAyNDEKIAogICAgICAgICBUaGlzIGlzc3VlIGlzIGNhdXNlZCBieSBz
aW5nbGUgcXVvdGVzIGluIG9wdGlvbidzIGxhYmVscy4KLSAgICAgICAgV2Ugc2hvdWxkIHVzZSB0
aGUgZXNjYXBlIGNoYXJhY3RlciBvZiBzaW5nbGUgcXVvdGVzIGluIEphdmFTY3JpcHQncyBzdHJp
bmcgd2hpY2ggCisgICAgICAgIFdlIHNob3VsZCB1c2UgdGhlIGVzY2FwZSBjaGFyYWN0ZXIgb2Yg
c2luZ2xlIHF1b3RlcyBpbiBKYXZhU2NyaXB0J3Mgc3RyaW5nIHdoaWNoCiAgICAgICAgIHN0YXJ0
cyBhbmQgZW5kcyB3aXRoIHNpbmdsZSBxdW90ZXMuCi0gICAgICAgIFNvIHdlIHJlcGxhY2UgbGFi
bGVscycgc2luZ2xlIHF1b3RlcyB3aXRoIGl0cyBlc2NhcGUgY2hhcmFjdGVyIGR1cmluZyBnZW5l
cmF0aW5nIHRoZSAKKyAgICAgICAgU28gd2UgcmVwbGFjZSBsYWJsZWxzJyBzaW5nbGUgcXVvdGVz
IHdpdGggaXRzIGVzY2FwZSBjaGFyYWN0ZXIgZHVyaW5nIGdlbmVyYXRpbmcgdGhlCiAgICAgICAg
IHNlbGVjdCBwb3BVcCdzIEhUTUwuCiAKICAgICAgICAgUmV2aWV3ZWQgYnkgR2VvcmdlIFN0YWlr
b3MuCkBAIC02OTgxLDggKzcwMjUsOCBAQAogICAgICAgICBSZXZpZXdlZCBieSBHZW9mZnJleSBH
YXJlbi4KIAogICAgICAgICBDaGFuZ2VkIGFsbCBzaXRlcyB0aGF0IHVzZWQgSlNMb2NrIHRvIGlu
c3RlYWQgdXNlIHRoZSBuZXcgSlNMb2NrSG9sZGVyCi0gICAgICAgIGFuZCBwYXNzIGluIHRoZSBj
b3JyZWN0IEpTIGNvbnRleHQgdGhhdCB0aGUgY29kZSBpcyBhYm91dCB0byBpbnRlcmFjdCB3aXRo
IHRoYXQgCi0gICAgICAgIG5lZWRzIHByb3RlY3Rpb24uIEFsc28gYWRkZWQgYSBjb3VwbGUgSlNM
b2NrcyB0byBwbGFjZXMgdGhhdCBkaWRuJ3QgYWxyZWFkeSAKKyAgICAgICAgYW5kIHBhc3MgaW4g
dGhlIGNvcnJlY3QgSlMgY29udGV4dCB0aGF0IHRoZSBjb2RlIGlzIGFib3V0IHRvIGludGVyYWN0
IHdpdGggdGhhdAorICAgICAgICBuZWVkcyBwcm90ZWN0aW9uLiBBbHNvIGFkZGVkIGEgY291cGxl
IEpTTG9ja3MgdG8gcGxhY2VzIHRoYXQgZGlkbid0IGFscmVhZHkKICAgICAgICAgaGF2ZSBpdCB0
aGF0IG5lZWRlZCBpdC4KIAogICAgICAgICAqIEFwaS9CbGFja0JlcnJ5R2xvYmFsLmNwcDoKQEAg
LTcxNjgsOSArNzIxMiw5IEBACiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD04OTgzNgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFudHRpIEtvaXZpc3RvLgot
ICAgICAgICAKKwogICAgICAgICBSZW5kZXJPYmplY3QgYW5kIFJlbmRlclN0eWxlIGhhZCBhbiBp
c1Bvc2l0aW9uZWQoKSBtZXRob2QgdGhhdCB3YXMKLSAgICAgICAgY29uZnVzaW5nLCBiZWNhdXNl
IGl0IGV4Y2x1ZGVkIHJlbGF0aXZlIHBvc2l0aW9uaW5nLiBSZW5hbWUgdG8gCisgICAgICAgIGNv
bmZ1c2luZywgYmVjYXVzZSBpdCBleGNsdWRlZCByZWxhdGl2ZSBwb3NpdGlvbmluZy4gUmVuYW1l
IHRvCiAgICAgICAgIGlzT3V0T2ZGbG93UG9zaXRpb25lZCgpLCB3aGljaCBtYWtlcyBpdCBjbGVh
cmVyIHRoYXQgaXQgb25seSBhcHBsaWVzCiAgICAgICAgIHRvIGFic29sdXRlIGFuZCBmaXhlZCBw
b3NpdGlvbmluZy4KIApAQCAtNzIwNiw3ICs3MjUwLDcgQEAKICAgICAgICAgUmV2aWV3ZWQgYnkg
R2F2aW4gQmFycmFjbG91Z2guCiAKICAgICAgICAgQ2hhbmdlZCBhbGwgc2l0ZXMgdGhhdCB1c2Vk
IEpTTG9jayB0byBpbnN0ZWFkIHVzZSB0aGUgbmV3IEpTTG9ja0hvbGRlcgotICAgICAgICBhbmQg
cGFzcyBpbiB0aGUgY29ycmVjdCBKUyBjb250ZXh0IHRoYXQgdGhlIGNvZGUgaXMgYWJvdXQgdG8g
aW50ZXJhY3Qgd2l0aCB0aGF0IAorICAgICAgICBhbmQgcGFzcyBpbiB0aGUgY29ycmVjdCBKUyBj
b250ZXh0IHRoYXQgdGhlIGNvZGUgaXMgYWJvdXQgdG8gaW50ZXJhY3Qgd2l0aCB0aGF0CiAgICAg
ICAgIG5lZWRzIHByb3RlY3Rpb24uCiAKICAgICAgICAgKiBBcGkvQmxhY2tCZXJyeUdsb2JhbC5j
cHA6CkBAIC03MjkzLDcgKzczMzcsNyBAQAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9ODk2ODQKIAogICAgICAgICBSZXZpZXdlZCBieSBZb25nIExpLgot
ICAgCisKICAgICAgICAgVXBkYXRlIHNldHRpbmcgaW5zdGFuY2UgYWNjZXNzIHRvIHVzZSBpbnN0
YW5jZSgpIGluc3RlYWQgb2YgZ2V0KCkuCiAKICAgICAgICAgKiBBcGkvQmxhY2tCZXJyeUdsb2Jh
bC5jcHA6CkBAIC03OTI0LDggKzc5NjgsOCBAQAogCiAgICAgICAgIFJldmlld2VkIGJ5IFJvYiBC
dWlzLgogCi0gICAgICAgIFdoZW4gUGFnZVBvcHVwQmxhY2tCZXJyeTo6aW5pdCgpIGlzIGNhbGxl
ZCwgYSBXZWJQYWdlIGlzIGFscmVhZHkgY3JlYXRlZCwgd2UgY2FuIGp1c3QgdXNlIAotICAgICAg
ICB0aGlzIHRvIGxvYWQgcG9wdXAsIG5vIG5lZWQgdG8gY3JlYXRlIGEgbmV3IG9uZS4gVGhlIG9s
ZCBjb2RlIGlzIGJhc2VkIG9uIGFuIG9sZCBzb2x1dGlvbiAKKyAgICAgICAgV2hlbiBQYWdlUG9w
dXBCbGFja0JlcnJ5Ojppbml0KCkgaXMgY2FsbGVkLCBhIFdlYlBhZ2UgaXMgYWxyZWFkeSBjcmVh
dGVkLCB3ZSBjYW4ganVzdCB1c2UKKyAgICAgICAgdGhpcyB0byBsb2FkIHBvcHVwLCBubyBuZWVk
IHRvIGNyZWF0ZSBhIG5ldyBvbmUuIFRoZSBvbGQgY29kZSBpcyBiYXNlZCBvbiBhbiBvbGQgc29s
dXRpb24KICAgICAgICAgd2hpY2ggaGFzIGJlZW4gYWJhbmRvbmVkLgogCiAgICAgICAgICogV2Vi
Q29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50QmxhY2tCZXJyeS5jcHA6CkBAIC04MTI4LDcgKzgxNzIs
NyBAQAogCiAgICAgICAgIFJldmlld2VkIGludGVybmFsbHkgYnkgTWlrZSBGZW50b24uCiAKLSAg
ICAgICAgV2Ugc2V0IGFsbCBvcHRpb25zJyB0eXBlIHRvIFR5cGVPcHRpb24sIHdoaWNoIGNhbid0
IHRlbGwgaWYgYW4gb3B0aW9uIGJlbG9uZ3MgdG8gYSBncm91cCwgCisgICAgICAgIFdlIHNldCBh
bGwgb3B0aW9ucycgdHlwZSB0byBUeXBlT3B0aW9uLCB3aGljaCBjYW4ndCB0ZWxsIGlmIGFuIG9w
dGlvbiBiZWxvbmdzIHRvIGEgZ3JvdXAsCiAgICAgICAgIGludHJvZHVjZSBUeXBlT3B0aW9uSW5H
cm91cCB0byBmaXggaXQuCiAKICAgICAgICAgKiBXZWJLaXRTdXBwb3J0L0lucHV0SGFuZGxlci5j
cHA6CkBAIC04MjUzLDcgKzgyOTcsNyBAQAogCiAgICAgICAgIFJldmlld2VkIGJ5IFJvYiBCdWlz
LgogCi0gICAgICAgIEluIFNlbGVjdFBvcHVwQ2xpZW50LCByZXR1cm4gJzEnIG1lYW5zIHNlbGVj
dGVkLCAnMCcgbWVhbnMgbm90IHNlbGVjdGVkLCAKKyAgICAgICAgSW4gU2VsZWN0UG9wdXBDbGll
bnQsIHJldHVybiAnMScgbWVhbnMgc2VsZWN0ZWQsICcwJyBtZWFucyBub3Qgc2VsZWN0ZWQsCiAg
ICAgICAgIHRoZSBBU0NJSSB2YWx1ZSBvZiAnMCcgaXMgNDgsIG5vdCAzMiwgdXNlICcwJyB0byBi
ZSBtb3JlIHJlYWRhYmxlLgogCiAgICAgICAgICogV2ViQ29yZVN1cHBvcnQvU2VsZWN0UG9wdXBD
bGllbnQuY3BwOgpAQCAtODQzMyw3ICs4NDc3LDcgQEAKICAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgxMDAxCiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW50
b25pbyBHb21lcy4KLSAgICAgICAgCisKICAgICAgICAgSW1wbGVtZW50ZWQgSW5zcGVjdG9yT3Zl
cmxheSB1c2luZyBXZWJPdmVybGF5QVBJLgogCiAgICAgICAgICogQXBpL0JhY2tpbmdTdG9yZS5j
cHA6CkBAIC05MzQxLDkgKzkzODUsOSBAQAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9ODcxMTYKIAogICAgICAgICBSZXZpZXdlZCBieSBHZW9yZ2UgU3Rh
aWtvcy4KLSAgICAgICAgCi0gICAgICAgIFRoZXJlIGlzIG5vdCBhbnkgcmVhc29uIHRvIGRpc2Fi
bGUgcGFnZUNhY2hlIGZvciB2aWRlby9hdWRpbyAKLSAgICAgICAgdGFncyBwcm9iYWJseS4gQnkg
bXkgdGVzdGluZywgQmFjayBhbmQgRm9yd2FyZCBhcmUgd29ya2luZyBmb3IgCisKKyAgICAgICAg
VGhlcmUgaXMgbm90IGFueSByZWFzb24gdG8gZGlzYWJsZSBwYWdlQ2FjaGUgZm9yIHZpZGVvL2F1
ZGlvCisgICAgICAgIHRhZ3MgcHJvYmFibHkuIEJ5IG15IHRlc3RpbmcsIEJhY2sgYW5kIEZvcndh
cmQgYXJlIHdvcmtpbmcgZm9yCiAgICAgICAgIHRob3NlIHBhZ2VzIGNvbnRhaW4gdmlkZW8gYW5k
IGF1ZGlvIHRhZ3MuCiAKICAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVu
dEJsYWNrQmVycnkuY3BwOgpAQCAtOTY4MSw3ICs5NzI1LDcgQEAKICAgICAgICAgSW50ZXJuYWwg
cmV2aWV3ZWQgYnkgWW9uZyBMaS4KIAogICAgICAgICBFbmFibGUgUEFHRV9QT1BVUCBzbyB3ZSBj
YW4gdXNlIFdlYkNvcmU6OlBhZ2VQb3B1cCBhbmQgV2ViQ29yZTo6UGFnZVBvcHVwQ2xpZW50IGlu
dGVyZmFjZS4KLSAgICAgICAgSW1wbGVtZW50IHZpcnR1YWwgbWV0aG9kcyBpbiBXZWJDb3JlOjpD
aHJvbWVDbGllbnRCbGFja0JlcnJ5IHRoYXQgcmVxdWlyZWQgZm9yIHRoZSAKKyAgICAgICAgSW1w
bGVtZW50IHZpcnR1YWwgbWV0aG9kcyBpbiBXZWJDb3JlOjpDaHJvbWVDbGllbnRCbGFja0JlcnJ5
IHRoYXQgcmVxdWlyZWQgZm9yIHRoZQogICAgICAgICBpbXBsZW1lbnRhdGlvbiBhbmQgYWRkIG1l
dGhvZHMgaW4gV2ViS2l0OjpXZWJQYWdlIHRoYXQgbmVlZGVkIGZvciBQYWdlUG9wdXBDbGllbnQu
CiAKICAgICAgICAgKiBBcGkvV2ViUGFnZS5jcHA6CkBAIC05NzI0LDE1ICs5NzY4LDE1IEBACiAg
ICAgICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6OldlYlBhZ2VQcml2YXRlOjpkaWRDaGFuZ2VTZXR0
aW5ncyk6CiAKIDIwMTItMDUtMDggIENyeXN0YWwgWmhhbmcgIDxoYWl6aGFuZ0ByaW0uY29tPgot
ICAgIAorCiAgICAgICAgICAgICBbQmxhY2tCZXJyeV0gSW1wbGVtZW50IGEgcG9wdXAgY2xpZW50
IGZvciBIVE1MIGNvbnRyb2xzCiAgICAgICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9ODU2NzAKLSAgICAKKwogICAgICAgICAgICAgUmV2aWV3ZWQgYnkgUm9i
IEJ1aXMuCi0gICAgCisKICAgICAgICAgICAgIEltcGxlbWVudCBhIHBvcHVwIGNsaWVudCBmb3Ig
SFRNTCBjb250cm9scywgd2hpY2ggd291bGQgYmUgdXNlZCB0byBsb2FkCiAgICAgICAgICAgICBk
aWZmZXJlbnQgcG9wdXBzIGFjY29yZGluZyB0byBwb3B1cCB0eXBlLgotICAgIAorCiAgICAgICAg
ICAgICAqIFdlYkNvcmVTdXBwb3J0L1BhZ2VQb3B1cEJsYWNrQmVycnkuY3BwOiBBZGRlZC4KICAg
ICAgICAgICAgIChXZWJDb3JlKToKICAgICAgICAgICAgIChQYWdlUG9wdXBDaHJvbWVDbGllbnQp
OgpAQCAtMTA1ODgsMTMgKzEwNjMyLDEzIEBACiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD04MzkwMwogCiAgICAgICAgIFJldmlld2VkIGJ5IEFudG9uaW8g
R29tZXMuCi0gICAgICAgIAorCiAgICAgICAgIFBSIDEyNTg4OAotICAgICAgICAKKwogICAgICAg
ICBJbmNyZWFzZSB0aGUgcGFkZGluZyB2YWx1ZSBmb3IgZm9jdXNlZCB0ZXh0IGVsZW1lbnQgdG8g
bWFrZSBzZWxlY3Rpb24gaGFuZGxlCiAgICAgICAgIGF0IGxlYXN0IHBhcnRpYWxseSB2aXNpYmxl
IHdoZW4gdGhlIHVzZXIgaXMgZHJhZ2dpbmcgYXQgZWRnZSBvZiB2aWV3cG9ydAogICAgICAgICBp
biBpbi1yZWdpb24gc2NvbGwgbW9kZS4KLSAKKwogICAgICAgICBSZXZpZXdlZCBpbnRlcm5hbGx5
IGJ5IE1pa2UgRmVudG9uLgogCiAgICAgICAgICogV2ViS2l0U3VwcG9ydC9JbnB1dEhhbmRsZXIu
Y3BwOgpAQCAtMTA3ODIsNyArMTA4MjYsNyBAQAogICAgICAgICBbQmxhY2tCZXJyeV0gVGV4dCBz
ZWxlY3Rpb24gLSBDYW4ndCBzZWxlY3QgdGV4dHMKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTgzMzU1CiAKLSAgICAgICAgRml4IHRoZSBwcm9ibGVtIG9m
IG5vdCBzZW5kaW5nIG91dCB0aGUgcmVzdWx0IG9mIHRoZSBmdW5jdGlvbiAKKyAgICAgICAgRml4
IHRoZSBwcm9ibGVtIG9mIG5vdCBzZW5kaW5nIG91dCB0aGUgcmVzdWx0IG9mIHRoZSBmdW5jdGlv
bgogICAgICAgICBTZWxlY3Rpb25IYW5kbGVyOjpyZWdpb25Gb3JUZXh0UXVhZHMoKS4gVGhpcyBy
ZWdyZXNzaW9uIGlzc3VlCiAgICAgICAgIGlzIGludHJvZHVjZWQgYnkgdGhlIGdpdCBjb21taXQg
Zjk0NDZiN2Q2NzFkNDhhODMzYWIwYWNmMTJiMWUyMDYzN2UwYTkxMC4KIApAQCAtMTEyMjksOSAr
MTEyNzMsOSBAQAogCiAgICAgICAgIFJldmlld2VkIGJ5IFJvYiBCdWlzLgogCi0gICAgICAgIElm
IHdlIGhhdmUgYSBtdWx0aVBhcnQgcmVwb25zZSB3aXRoIG11bHRpcGFydC94LW1peGVkLXJlcGxh
Y2UsIAotICAgICAgICB0aGUgY3VycmVudCBwYWdlIHNob3VsZCBub3QgYmUgY2FjaGVkLiBJIHVz
ZSBpc011bHRpcGFydFBheWxvYWQoKSAKLSAgICAgICAgQVBJIHdoaWNoIHdhcyBzdXBwb3NlZCB0
byBiZSBzZXQgaW4gTmV0d29ya0pvYiB0byBkZWNpZGUgdG8gCisgICAgICAgIElmIHdlIGhhdmUg
YSBtdWx0aVBhcnQgcmVwb25zZSB3aXRoIG11bHRpcGFydC94LW1peGVkLXJlcGxhY2UsCisgICAg
ICAgIHRoZSBjdXJyZW50IHBhZ2Ugc2hvdWxkIG5vdCBiZSBjYWNoZWQuIEkgdXNlIGlzTXVsdGlw
YXJ0UGF5bG9hZCgpCisgICAgICAgIEFQSSB3aGljaCB3YXMgc3VwcG9zZWQgdG8gYmUgc2V0IGlu
IE5ldHdvcmtKb2IgdG8gZGVjaWRlIHRvCiAgICAgICAgIGNhY2hlIHBhZ2Ugb3Igbm90LgogCiAg
ICAgICAgICogV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRCbGFja0JlcnJ5LmNwcDoK
QEAgLTEyNjI3LDcgKzEyNjcxLDcgQEAKIAogICAgICAgICBUaGUgcmVhc29uIG9mIHRoZSBjcmFz
aCBpcyB0aGF0IGl0IHN0aWxsIHVzZXMgdGhlIGl0ZXJhdG9yCiAgICAgICAgIGFmdGVyIGJlZW4g
cmVtb3ZlZCBmcm9tIHRoZSBjb250YWluZXIsIHdoaWNoIGludmFsaWRhdGVzIHRoZQotICAgICAg
ICBpdGVyYXRvci4gCisgICAgICAgIGl0ZXJhdG9yLgogICAgICAgICBXZSBzaG91bGQgc3RvcCBw
cm9jZXNzaW5nIGFmdGVyIHdlIGhhdmUgZm91bmQgdGhlIGVsZW1lbnQKICAgICAgICAgYW5kIHJl
bW92ZWQgZnJvbSB0aGUgY29udGFpbmVyIHRocm91Z2ggdGhlIGl0ZXJhdG9yLgogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJD
bGllbnRCbGFja0JlcnJ5LmNwcCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3Vw
cG9ydC9GcmFtZUxvYWRlckNsaWVudEJsYWNrQmVycnkuY3BwCmluZGV4IDhjMDI3NGQuLjM4MmIx
NTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9G
cmFtZUxvYWRlckNsaWVudEJsYWNrQmVycnkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2ti
ZXJyeS9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEJsYWNrQmVycnkuY3BwCkBAIC00
MzcsOCArNDM3LDExIEBAIHZvaWQgRnJhbWVMb2FkZXJDbGllbnRCbGFja0JlcnJ5Ojp0cmFuc2l0
aW9uVG9Db21taXR0ZWRGb3JOZXdQYWdlKCkKICAgICAvLyBpbiB0aGUgYmFja2luZyBzdG9yZSBm
cm9tIGFub3RoZXIgdGhyZWFkIChzZWUgQmFja2luZ1N0b3JlUHJpdmF0ZTo6YmxpdFZpc2libGVD
b250ZW50cyBtZXRob2QpLAogICAgIC8vIHNvIHdlIHN1c3BlbmQgYW5kIHJlc3VtZSBzY3JlZW4g
dXBkYXRlIHRvIG1ha2Ugc3VyZSB3ZSBkbyBub3QgZ2V0IGEgaW52YWxpZCBGcmFtZVZpZXcKICAg
ICAvLyBzdGF0ZS4KLSAgICBpZiAoaXNNYWluRnJhbWUoKSAmJiBtX3dlYlBhZ2VQcml2YXRlLT5i
YWNraW5nU3RvcmVDbGllbnQoKSkKLSAgICAgICAgbV93ZWJQYWdlUHJpdmF0ZS0+YmFja2luZ1N0
b3JlQ2xpZW50KCktPmJhY2tpbmdTdG9yZSgpLT5kLT5zdXNwZW5kU2NyZWVuQW5kQmFja2luZ1N0
b3JlVXBkYXRlcygpOworICAgIGlmIChpc01haW5GcmFtZSgpICYmIG1fd2ViUGFnZVByaXZhdGUt
PmJhY2tpbmdTdG9yZUNsaWVudCgpKSB7CisgICAgICAgIC8vIEZJWE1FOiBEbyB3ZSByZWFsbHkg
bmVlZCB0byBzdXNwZW5kL3Jlc3VtZSBib3RoIGJhY2tpbmdzdG9yZSBhbmQgc2NyZWVuIGhlcmU/
CisgICAgICAgIG1fd2ViUGFnZVByaXZhdGUtPmJhY2tpbmdTdG9yZUNsaWVudCgpLT5iYWNraW5n
U3RvcmUoKS0+ZC0+c3VzcGVuZEJhY2tpbmdTdG9yZVVwZGF0ZXMoKTsKKyAgICAgICAgbV93ZWJQ
YWdlUHJpdmF0ZS0+YmFja2luZ1N0b3JlQ2xpZW50KCktPmJhY2tpbmdTdG9yZSgpLT5kLT5zdXNw
ZW5kU2NyZWVuVXBkYXRlcygpOworICAgIH0KIAogICAgIC8vIFdlIGFyZSBuYXZpZ2F0aW5nIGF3
YXkgZnJvbSB0aGlzIGRvY3VtZW50LCBzbyBjbGVhbiB1cCBhbnkgZm9vdHByaW50IHdlIG1pZ2h0
IGhhdmUuCiAgICAgaWYgKG1fZnJhbWUtPmRvY3VtZW50KCkpCkBAIC00NTcsOCArNDYwLDExIEBA
IHZvaWQgRnJhbWVMb2FkZXJDbGllbnRCbGFja0JlcnJ5Ojp0cmFuc2l0aW9uVG9Db21taXR0ZWRG
b3JOZXdQYWdlKCkKICAgICAgICAgICAgICAgICAgICAgICAgIFNjcm9sbGJhckFsd2F5c09mZiwg
ICAgICAgICAgICAgICAgICAgIC8qIHZlciBtb2RlICovCiAgICAgICAgICAgICAgICAgICAgICAg
ICB0cnVlKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBsb2NrIHRoZSBtb2Rl
ICovCiAKLSAgICBpZiAoaXNNYWluRnJhbWUoKSAmJiBtX3dlYlBhZ2VQcml2YXRlLT5iYWNraW5n
U3RvcmVDbGllbnQoKSkKLSAgICAgICAgbV93ZWJQYWdlUHJpdmF0ZS0+YmFja2luZ1N0b3JlQ2xp
ZW50KCktPmJhY2tpbmdTdG9yZSgpLT5kLT5yZXN1bWVTY3JlZW5BbmRCYWNraW5nU3RvcmVVcGRh
dGVzKEJhY2tpbmdTdG9yZTo6Tm9uZSk7CisgICAgaWYgKGlzTWFpbkZyYW1lKCkgJiYgbV93ZWJQ
YWdlUHJpdmF0ZS0+YmFja2luZ1N0b3JlQ2xpZW50KCkpIHsKKyAgICAgICAgLy8gRklYTUU6IERv
IHdlIHJlYWxseSBuZWVkIHRvIHN1c3BlbmQvcmVzdW1lIGJvdGggYmFja2luZ3N0b3JlIGFuZCBz
Y3JlZW4gaGVyZT8KKyAgICAgICAgbV93ZWJQYWdlUHJpdmF0ZS0+YmFja2luZ1N0b3JlQ2xpZW50
KCktPmJhY2tpbmdTdG9yZSgpLT5kLT5yZXN1bWVCYWNraW5nU3RvcmVVcGRhdGVzKCk7CisgICAg
ICAgIG1fd2ViUGFnZVByaXZhdGUtPmJhY2tpbmdTdG9yZUNsaWVudCgpLT5iYWNraW5nU3RvcmUo
KS0+ZC0+cmVzdW1lU2NyZWVuVXBkYXRlcyhCYWNraW5nU3RvcmU6Ok5vbmUpOworICAgIH0KIAog
ICAgIG1fZnJhbWUtPnZpZXcoKS0+dXBkYXRlQ2FuSGF2ZVNjcm9sbGJhcnMoKTsKIApAQCAtMTEx
MCw3ICsxMTE2LDkgQEAgdm9pZCBGcmFtZUxvYWRlckNsaWVudEJsYWNrQmVycnk6OnJlc3RvcmVW
aWV3U3RhdGUoKQogCiAgICAgLy8gRG9uJ3QgZmxhc2ggY2hlY2tlcmJvYXJkIGJlZm9yZSBXZWJQ
YWdlUHJpdmF0ZTo6cmVzdG9yZUhpc3RvcnlWaWV3U3RhdGUoKSBmaW5pc2hlZC4KICAgICAvLyBU
aGlzIGNhbGwgd2lsbCBiZSBiYWxhbmNlZCBieSBCYWNraW5nU3RvcmVQcml2YXRlOjpyZXN1bWVT
Y3JlZW5BbmRCYWNraW5nU3RvcmVVcGRhdGVzKCkgaW4gV2ViUGFnZVByaXZhdGU6OnJlc3RvcmVI
aXN0b3J5Vmlld1N0YXRlKCkuCi0gICAgbV93ZWJQYWdlUHJpdmF0ZS0+bV9iYWNraW5nU3RvcmUt
PmQtPnN1c3BlbmRTY3JlZW5BbmRCYWNraW5nU3RvcmVVcGRhdGVzKCk7CisgICAgLy8gRklYTUU6
IERvIHdlIHJlYWxseSBuZWVkIHRvIHN1c3BlbmQvcmVzdW1lIGJvdGggYmFja2luZ3N0b3JlIGFu
ZCBzY3JlZW4gaGVyZT8KKyAgICBtX3dlYlBhZ2VQcml2YXRlLT5tX2JhY2tpbmdTdG9yZS0+ZC0+
c3VzcGVuZEJhY2tpbmdTdG9yZVVwZGF0ZXMoKTsKKyAgICBtX3dlYlBhZ2VQcml2YXRlLT5tX2Jh
Y2tpbmdTdG9yZS0+ZC0+c3VzcGVuZFNjcmVlblVwZGF0ZXMoKTsKIAogICAgIC8vIEl0IGlzIG5v
dCBzYWZlIHRvIHJlbmRlciB0aGUgcGFnZSBhdCB0aGlzIHBvaW50LiBTbyB3ZSBwb3N0IGEgbWVz
c2FnZSBpbnN0ZWFkLiBNZXNzYWdlcyBoYXZlIGhpZ2hlciBwcmlvcml0eSB0aGFuIHRpbWVycy4K
ICAgICBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6d2ViS2l0VGhyZWFkTWVzc2FnZUNsaWVudCgpLT5k
aXNwYXRjaE1lc3NhZ2UoQmxhY2tCZXJyeTo6UGxhdGZvcm06OmNyZWF0ZU1ldGhvZENhbGxNZXNz
YWdlKApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQv
SW5wdXRIYW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJLaXRTdXBwb3J0
L0lucHV0SGFuZGxlci5jcHAKaW5kZXggMTVmNDM5ZC4uZTFlOTczNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvSW5wdXRIYW5kbGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViS2l0U3VwcG9ydC9JbnB1dEhhbmRsZXIuY3Bw
CkBAIC0xODY2LDEwICsxODY2LDE0IEBAIGJvb2wgSW5wdXRIYW5kbGVyOjpzZXRCYXRjaEVkaXRp
bmdBY3RpdmUoYm9vbCBhY3RpdmUpCiAgICAgQVNTRVJUKGJhY2tpbmdTdG9yZUNsaWVudCk7CiAK
ICAgICAvLyBFbmFibGUgLyBEaXNhYmxlIHRoZSBiYWNraW5nc3RvcmUgdG8gcHJldmVudCB2aXN1
YWwgdXBkYXRlcy4KLSAgICBpZiAoIWFjdGl2ZSkKLSAgICAgICAgYmFja2luZ1N0b3JlQ2xpZW50
LT5iYWNraW5nU3RvcmUoKS0+cmVzdW1lU2NyZWVuQW5kQmFja2luZ1N0b3JlVXBkYXRlcyhCYWNr
aW5nU3RvcmU6OlJlbmRlckFuZEJsaXQpOwotICAgIGVsc2UKLSAgICAgICAgYmFja2luZ1N0b3Jl
Q2xpZW50LT5iYWNraW5nU3RvcmUoKS0+c3VzcGVuZFNjcmVlbkFuZEJhY2tpbmdTdG9yZVVwZGF0
ZXMoKTsKKyAgICAvLyBGSVhNRTogRG8gd2UgcmVhbGx5IG5lZWQgdG8gc3VzcGVuZC9yZXN1bWUg
Ym90aCBiYWNraW5nc3RvcmUgYW5kIHNjcmVlbiBoZXJlPworICAgIGlmICghYWN0aXZlKSB7Cisg
ICAgICAgIGJhY2tpbmdTdG9yZUNsaWVudC0+YmFja2luZ1N0b3JlKCktPnJlc3VtZUJhY2tpbmdT
dG9yZVVwZGF0ZXMoKTsKKyAgICAgICAgYmFja2luZ1N0b3JlQ2xpZW50LT5iYWNraW5nU3RvcmUo
KS0+cmVzdW1lU2NyZWVuVXBkYXRlcyhCYWNraW5nU3RvcmU6OlJlbmRlckFuZEJsaXQpOworICAg
IH0gZWxzZSB7CisgICAgICAgIGJhY2tpbmdTdG9yZUNsaWVudC0+YmFja2luZ1N0b3JlKCktPnN1
c3BlbmRCYWNraW5nU3RvcmVVcGRhdGVzKCk7CisgICAgICAgIGJhY2tpbmdTdG9yZUNsaWVudC0+
YmFja2luZ1N0b3JlKCktPnN1c3BlbmRTY3JlZW5VcGRhdGVzKCk7CisgICAgfQogCiAgICAgcmV0
dXJuIHRydWU7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174161</attachid>
            <date>2012-11-14 08:12:33 -0800</date>
            <delta_ts>2012-11-14 10:18:06 -0800</delta_ts>
            <desc>WebKit portion of PR 219976 v2</desc>
            <filename>webkit_219976v5.patch</filename>
            <type>text/plain</type>
            <size>28180</size>
            <attacher name="Adam Treat">manyoso</attacher>
            
              <data encoding="base64">Y29tbWl0IDFmNTQ0MTE0YWQyZDE2OGI1ZWQ0N2E5MTJiMThlMGExYWViOWI2OTkKQXV0aG9yOiBB
ZGFtIFRyZWF0IDxhdHJlYXRAcmltLmNvbT4KRGF0ZTogICBUdWUgTm92IDEzIDE2OjEyOjM1IDIw
MTIgLTA1MDAKCiAgICBbQmxhY2tCZXJyeV0gQnJlYWsgc3VzcGVuZC9yZXN1bWUgb2YgdGhlIGJh
Y2tpbmdzdG9yZSBhbmQgc2NyZWVuIGludG8gc2VwYXJhdGUgbWV0aG9kcwogICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjEyNgogICAgCiAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KICAgIFBSIDIxOTk3NgogICAgCiAgICBNb2RpZnkgdGhlIHN1c3Bl
bmQvcmVzdW1lIG1ldGhvZHMgc28gdGhhdCB0aGV5IGNhbiBiZSBjYWxsZWQgZnJvbSB0aGUgVUkg
dGhyZWFkCiAgICBpdHNlbGYgYW5kIHNwbGl0IHVwIHRoZSBzdXNwZW5kL3Jlc3VtZSBtZXRob2Rz
IHNvIHRoYXQgd2UgY2FuIHN1c3BlbmQvcmVzdW1lCiAgICB0aGUgc2NyZWVuIG9yIGJhY2tpbmdz
dG9yZSBzZXBhcmF0ZWx5LgogICAgCiAgICAqIEFwaS9CYWNraW5nU3RvcmUuY3BwOgogICAgKEJs
YWNrQmVycnk6OldlYktpdDo6QmFja2luZ1N0b3JlUHJpdmF0ZTo6c3VzcGVuZEJhY2tpbmdTdG9y
ZVVwZGF0ZXMpOgogICAgKFdlYktpdCk6CiAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpCYWNraW5n
U3RvcmVQcml2YXRlOjpzdXNwZW5kU2NyZWVuVXBkYXRlcyk6CiAgICAoQmxhY2tCZXJyeTo6V2Vi
S2l0OjpCYWNraW5nU3RvcmVQcml2YXRlOjpyZXN1bWVCYWNraW5nU3RvcmVVcGRhdGVzKToKICAg
IChCbGFja0JlcnJ5OjpXZWJLaXQ6OkJhY2tpbmdTdG9yZVByaXZhdGU6OnJlc3VtZVNjcmVlblVw
ZGF0ZXMpOgogICAgKEJsYWNrQmVycnk6OldlYktpdDo6QmFja2luZ1N0b3JlUHJpdmF0ZTo6Ymxp
dFZpc2libGVDb250ZW50cyk6CiAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpCYWNraW5nU3RvcmVQ
cml2YXRlOjpjcmVhdGVTdXJmYWNlcyk6CiAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpCYWNraW5n
U3RvcmU6OnN1c3BlbmRCYWNraW5nU3RvcmVVcGRhdGVzKToKICAgIChCbGFja0JlcnJ5OjpXZWJL
aXQ6OkJhY2tpbmdTdG9yZTo6cmVzdW1lQmFja2luZ1N0b3JlVXBkYXRlcyk6CiAgICAoQmxhY2tC
ZXJyeTo6V2ViS2l0OjpCYWNraW5nU3RvcmU6OnN1c3BlbmRTY3JlZW5VcGRhdGVzKToKICAgIChC
bGFja0JlcnJ5OjpXZWJLaXQ6OkJhY2tpbmdTdG9yZTo6cmVzdW1lU2NyZWVuVXBkYXRlcyk6CiAg
ICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpCYWNraW5nU3RvcmU6OmNyZWF0ZUJhY2tpbmdTdG9yZU1l
bW9yeSk6CiAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpCYWNraW5nU3RvcmU6OnJlbGVhc2VCYWNr
aW5nU3RvcmVNZW1vcnkpOgogICAgKiBBcGkvQmFja2luZ1N0b3JlLmg6CiAgICAqIEFwaS9CYWNr
aW5nU3RvcmVfcC5oOgogICAgKEJhY2tpbmdTdG9yZVByaXZhdGUpOgogICAgKiBBcGkvV2ViUGFn
ZS5jcHA6CiAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpXZWJQYWdlUHJpdmF0ZTo6c2V0TG9hZFN0
YXRlKToKICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6OldlYlBhZ2VQcml2YXRlOjp6b29tQWJvdXRQ
b2ludCk6CiAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpXZWJQYWdlUHJpdmF0ZTo6em9vbUJsb2Nr
KToKICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6OldlYlBhZ2U6OmRlc3Ryb3kpOgogICAgKEJsYWNr
QmVycnk6OldlYktpdDo6V2ViUGFnZVByaXZhdGU6OnNldFZpZXdwb3J0U2l6ZSk6CiAgICAoQmxh
Y2tCZXJyeTo6V2ViS2l0OjpXZWJQYWdlUHJpdmF0ZTo6c2V0Q29tcG9zaXRvcik6CiAgICAoQmxh
Y2tCZXJyeTo6V2ViS2l0OjpXZWJQYWdlUHJpdmF0ZTo6ZXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50
KToKICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6OldlYlBhZ2VQcml2YXRlOjpyZXN0b3JlSGlzdG9y
eVZpZXdTdGF0ZSk6CiAgICAqIFdlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50QmxhY2tC
ZXJyeS5jcHA6CiAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnRCbGFja0JlcnJ5Ojp0cmFu
c2l0aW9uVG9Db21taXR0ZWRGb3JOZXdQYWdlKToKICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlckNs
aWVudEJsYWNrQmVycnk6OnJlc3RvcmVWaWV3U3RhdGUpOgogICAgKiBXZWJLaXRTdXBwb3J0L0lu
cHV0SGFuZGxlci5jcHA6CiAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpJbnB1dEhhbmRsZXI6OnNl
dEJhdGNoRWRpdGluZ0FjdGl2ZSk6CgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2Jl
cnJ5L0FwaS9CYWNraW5nU3RvcmUuY3BwIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9C
YWNraW5nU3RvcmUuY3BwCmluZGV4IDdmZWRhM2UuLmUwYTcyNzAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvQmFja2luZ1N0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2JsYWNrYmVycnkvQXBpL0JhY2tpbmdTdG9yZS5jcHAKQEAgLTI3NiwxNCArMjc2LDIyIEBA
IGJvb2wgQmFja2luZ1N0b3JlUHJpdmF0ZTo6aXNPcGVuR0xDb21wb3NpdGluZygpIGNvbnN0CiAg
ICAgcmV0dXJuIHRydWU7CiB9CiAKLXZvaWQgQmFja2luZ1N0b3JlUHJpdmF0ZTo6c3VzcGVuZFNj
cmVlbkFuZEJhY2tpbmdTdG9yZVVwZGF0ZXMoKQordm9pZCBCYWNraW5nU3RvcmVQcml2YXRlOjpz
dXNwZW5kQmFja2luZ1N0b3JlVXBkYXRlcygpCiB7Ci0gICAgaWYgKG1fc3VzcGVuZFNjcmVlblVw
ZGF0ZXMpIHsKKyAgICBpZiAoYXRvbWljX2FkZF92YWx1ZSgmbV9zdXNwZW5kQmFja2luZ1N0b3Jl
VXBkYXRlcywgMCkpIHsKICAgICAgICAgQkJMT0coQmxhY2tCZXJyeTo6UGxhdGZvcm06OkxvZ0xl
dmVsSW5mbywKLSAgICAgICAgICAgICJTY3JlZW4gYW5kIGJhY2tpbmdzdG9yZSBhbHJlYWR5IHN1
c3BlbmRlZCwgaW5jcmVhc2luZyBzdXNwZW5kIGNvdW50ZXIuIik7CisgICAgICAgICAgICAiQmFj
a2luZ3N0b3JlIGFscmVhZHkgc3VzcGVuZGVkLCBpbmNyZWFzaW5nIHN1c3BlbmQgY291bnRlci4i
KTsKICAgICB9CiAKLSAgICArK21fc3VzcGVuZEJhY2tpbmdTdG9yZVVwZGF0ZXM7CisgICAgYXRv
bWljX2FkZCgmbV9zdXNwZW5kQmFja2luZ1N0b3JlVXBkYXRlcywgMSk7Cit9CisKK3ZvaWQgQmFj
a2luZ1N0b3JlUHJpdmF0ZTo6c3VzcGVuZFNjcmVlblVwZGF0ZXMoKQoreworICAgIGlmIChtX3N1
c3BlbmRTY3JlZW5VcGRhdGVzKSB7CisgICAgICAgIEJCTE9HKEJsYWNrQmVycnk6OlBsYXRmb3Jt
OjpMb2dMZXZlbEluZm8sCisgICAgICAgICAgICAiU2NyZWVuIGFscmVhZHkgc3VzcGVuZGVkLCBp
bmNyZWFzaW5nIHN1c3BlbmQgY291bnRlci4iKTsKKyAgICB9CiAKICAgICAvLyBNYWtlIHN1cmUg
dGhlIHVzZXIgaW50ZXJmYWNlIHRocmVhZCBnZXRzIHRoZSBtZXNzYWdlIGJlZm9yZSB3ZSBwcm9j
ZWVkCiAgICAgLy8gYmVjYXVzZSBibGl0VmlzaWJsZUNvbnRlbnRzKCkgY2FuIGJlIGNhbGxlZCBm
cm9tIHRoZSB1c2VyIGludGVyZmFjZQpAQCAtMjkzLDE3ICszMDEsMjcgQEAgdm9pZCBCYWNraW5n
U3RvcmVQcml2YXRlOjpzdXNwZW5kU2NyZWVuQW5kQmFja2luZ1N0b3JlVXBkYXRlcygpCiAgICAg
QmxhY2tCZXJyeTo6UGxhdGZvcm06OnVzZXJJbnRlcmZhY2VUaHJlYWRNZXNzYWdlQ2xpZW50KCkt
PnN5bmNUb0N1cnJlbnRNZXNzYWdlKCk7CiB9CiAKLXZvaWQgQmFja2luZ1N0b3JlUHJpdmF0ZTo6
cmVzdW1lU2NyZWVuQW5kQmFja2luZ1N0b3JlVXBkYXRlcyhCYWNraW5nU3RvcmU6OlJlc3VtZVVw
ZGF0ZU9wZXJhdGlvbiBvcCkKK3ZvaWQgQmFja2luZ1N0b3JlUHJpdmF0ZTo6cmVzdW1lQmFja2lu
Z1N0b3JlVXBkYXRlcygpCiB7Ci0gICAgQVNTRVJUKG1fc3VzcGVuZFNjcmVlblVwZGF0ZXMpOwot
ICAgIEFTU0VSVChtX3N1c3BlbmRCYWNraW5nU3RvcmVVcGRhdGVzKTsKKyAgICBib29sIGlzU3Vz
cGVuZGVkID0gYXRvbWljX2FkZF92YWx1ZSgmbV9zdXNwZW5kQmFja2luZ1N0b3JlVXBkYXRlcywg
MCkgPj0gMTsKKyAgICBBU1NFUlQoaXNTdXNwZW5kZWQpOworICAgIGlmICghaXNTdXNwZW5kZWQp
IHsKKyAgICAgICAgQmxhY2tCZXJyeTo6UGxhdGZvcm06OmxvZ0Fsd2F5cyhCbGFja0JlcnJ5OjpQ
bGF0Zm9ybTo6TG9nTGV2ZWxDcml0aWNhbCwKKyAgICAgICAgICAgICJDYWxsIG1pc21hdGNoOiBC
YWNraW5nc3RvcmUgaGFzbid0IGJlZW4gc3VzcGVuZGVkLCB0aGVyZWZvcmUgd29uJ3QgcmVzdW1l
ISIpOworICAgICAgICByZXR1cm47CisgICAgfQogCi0gICAgLy8gQm90aCB2YXJpYWJsZXMgYXJl
IHNpbWlsYXIgZXhjZXB0IGZvciB0aGUgdGltaW5nIG9mIHNldHRpbmcgdGhlbS4KLSAgICBBU1NF
UlQobV9zdXNwZW5kU2NyZWVuVXBkYXRlcyA9PSBtX3N1c3BlbmRCYWNraW5nU3RvcmVVcGRhdGVz
KTsKKyAgICBhdG9taWNfc3ViKCZtX3N1c3BlbmRCYWNraW5nU3RvcmVVcGRhdGVzLCAxKTsKK30K
KworCit2b2lkIEJhY2tpbmdTdG9yZVByaXZhdGU6OnJlc3VtZVNjcmVlblVwZGF0ZXMoQmFja2lu
Z1N0b3JlOjpSZXN1bWVVcGRhdGVPcGVyYXRpb24gb3ApCit7CisgICAgQVNTRVJUKG1fc3VzcGVu
ZFNjcmVlblVwZGF0ZXMpOwogCi0gICAgaWYgKCFtX3N1c3BlbmRTY3JlZW5VcGRhdGVzIHx8ICFt
X3N1c3BlbmRCYWNraW5nU3RvcmVVcGRhdGVzKSB7CisgICAgaWYgKCFtX3N1c3BlbmRTY3JlZW5V
cGRhdGVzKSB7CiAgICAgICAgIEJsYWNrQmVycnk6OlBsYXRmb3JtOjpsb2dBbHdheXMoQmxhY2tC
ZXJyeTo6UGxhdGZvcm06OkxvZ0xldmVsQ3JpdGljYWwsCi0gICAgICAgICAgICAiQ2FsbCBtaXNt
YXRjaDogU2NyZWVuIGFuZCBiYWNraW5nc3RvcmUgaGF2ZW4ndCBiZWVuIHN1c3BlbmRlZCwgdGhl
cmVmb3JlIHdvbid0IHJlc3VtZSEiKTsKKyAgICAgICAgICAgICJDYWxsIG1pc21hdGNoOiBTY3Jl
ZW4gaGFzbid0IGJlZW4gc3VzcGVuZGVkLCB0aGVyZWZvcmUgd29uJ3QgcmVzdW1lISIpOwogICAg
ICAgICByZXR1cm47CiAgICAgfQogCkBAIC0zMTIsMTYgKzMzMCwxMyBAQCB2b2lkIEJhY2tpbmdT
dG9yZVByaXZhdGU6OnJlc3VtZVNjcmVlbkFuZEJhY2tpbmdTdG9yZVVwZGF0ZXMoQmFja2luZ1N0
b3JlOjpSZXN1bQogICAgICAgICB8fCAobV9yZXN1bWVPcGVyYXRpb24gPT0gQmFja2luZ1N0b3Jl
OjpOb25lICYmIG9wID09IEJhY2tpbmdTdG9yZTo6QmxpdCkpCiAgICAgICAgIG1fcmVzdW1lT3Bl
cmF0aW9uID0gb3A7CiAKLSAgICBpZiAobV9zdXNwZW5kU2NyZWVuVXBkYXRlcyA+PSAyICYmIG1f
c3VzcGVuZEJhY2tpbmdTdG9yZVVwZGF0ZXMgPj0gMikgeyAvLyB3ZSdyZSBzdGlsbCBzdXNwZW5k
ZWQKKyAgICBpZiAobV9zdXNwZW5kU2NyZWVuVXBkYXRlcyA+PSAyKSB7IC8vIHdlJ3JlIHN0aWxs
IHN1c3BlbmRlZAogICAgICAgICBCQkxPRyhCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6TG9nTGV2ZWxJ
bmZvLAogICAgICAgICAgICAgIlNjcmVlbiBhbmQgYmFja2luZ3N0b3JlIHN0aWxsIHN1c3BlbmRl
ZCwgZGVjcmVhc2luZyBzdXNwZW5kIGNvdW50ZXIuIik7Ci0gICAgICAgIC0tbV9zdXNwZW5kQmFj
a2luZ1N0b3JlVXBkYXRlczsKICAgICAgICAgLS1tX3N1c3BlbmRTY3JlZW5VcGRhdGVzOwogICAg
ICAgICByZXR1cm47CiAgICAgfQogCi0gICAgLS1tX3N1c3BlbmRCYWNraW5nU3RvcmVVcGRhdGVz
OwotCiAgICAgb3AgPSBtX3Jlc3VtZU9wZXJhdGlvbjsKICAgICBtX3Jlc3VtZU9wZXJhdGlvbiA9
IEJhY2tpbmdTdG9yZTo6Tm9uZTsKIApAQCAtMTI5OSw2ICsxMzE0LDEwIEBAIHZvaWQgQmFja2lu
Z1N0b3JlUHJpdmF0ZTo6YmxpdFZpc2libGVDb250ZW50cyhib29sIGZvcmNlKQogICAgICAgICB2
aWV3cG9ydEFjY2Vzc29yLT5zY2FsZSgpKTsKICNlbmRpZgogCisjaWYgREVCVUdfQ0hFQ0tFUkJP
QVJECisgICAgYm9vbCBibGl0Q2hlY2tlcmVkID0gZmFsc2U7CisjZW5kaWYKKwogICAgIFZlY3Rv
cjxUaWxlQnVmZmVyKj4gYmxpdHRlZFRpbGVzOwogCiAgICAgaWYgKGlzQWN0aXZlKCkgJiYgIW1f
d2ViUGFnZS0+ZC0+Y29tcG9zaXRvckRyYXdzUm9vdExheWVyKCkpIHsKQEAgLTEzMjUsMTAgKzEz
NDQsNiBAQCB2b2lkIEJhY2tpbmdTdG9yZVByaXZhdGU6OmJsaXRWaXNpYmxlQ29udGVudHMoYm9v
bCBmb3JjZSkKICAgICAgICAgaWYgKCF0cmFuc2Zvcm1lZFNyY1JlY3QuaXNFbXB0eSgpKQogICAg
ICAgICAgICAgdHJhbnNmb3JtYXRpb24gPSBUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6cmVjdFRvUmVj
dChGbG9hdFJlY3QoRmxvYXRQb2ludCgwLjAsIDAuMCksIFdlYkNvcmU6OkludFNpemUodHJhbnNm
b3JtZWRTcmNSZWN0LnNpemUoKSkpLCBXZWJDb3JlOjpJbnRSZWN0KGRzdFJlY3QpKTsKIAotI2lm
IERFQlVHX0NIRUNLRVJCT0FSRAotICAgICAgICBib29sIGJsaXRDaGVja2VyZWQgPSBmYWxzZTsK
LSNlbmRpZgotCiAgICAgICAgIC8vIERvbid0IGNsaXAgdG8gY29udGVudHMgaWYgaXQgaXMgZW1w
dHkgc28gd2UgY2FuIHN0aWxsIHBhaW50IGRlZmF1bHQgYmFja2dyb3VuZC4KICAgICAgICAgaWYg
KCF0cmFuc2Zvcm1lZENvbnRlbnRzUmVjdC5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgIGNsaXBw
ZWRUcmFuc2Zvcm1lZFNyY1JlY3QuaW50ZXJzZWN0KHRyYW5zZm9ybWVkQ29udGVudHNSZWN0KTsK
QEAgLTIwOTgsOCArMjExMywxMSBAQCB2b2lkIEJhY2tpbmdTdG9yZVByaXZhdGU6OmNyZWF0ZVN1
cmZhY2VzKCkKICAgICBjcmVhdGVWaXNpYmxlVGlsZUJ1ZmZlckZvcldlYlBhZ2UobV93ZWJQYWdl
LT5kKTsKIAogICAgIC8vIERvbid0IHRyeSB0byBibGl0IHRvIHNjcmVlbiB1bmxlc3Mgd2UgaGF2
ZSBhIGJ1ZmZlci4KLSAgICBpZiAoIWJ1ZmZlcigpKQotICAgICAgICBzdXNwZW5kU2NyZWVuQW5k
QmFja2luZ1N0b3JlVXBkYXRlcygpOworICAgIGlmICghYnVmZmVyKCkpIHsKKyAgICAgICAgLy8g
RklYTUU6IERvIHdlIHJlYWxseSBuZWVkIHRvIHN1c3BlbmQvcmVzdW1lIGJvdGggYmFja2luZ3N0
b3JlIGFuZCBzY3JlZW4gaGVyZT8KKyAgICAgICAgc3VzcGVuZEJhY2tpbmdTdG9yZVVwZGF0ZXMo
KTsKKyAgICAgICAgc3VzcGVuZFNjcmVlblVwZGF0ZXMoKTsKKyAgICB9CiB9CiAKIHZvaWQgQmFj
a2luZ1N0b3JlUHJpdmF0ZTo6Y3JlYXRlVmlzaWJsZVRpbGVCdWZmZXIoKQpAQCAtMjYxMSwxNCAr
MjYyOSwyNCBAQCB2b2lkIEJhY2tpbmdTdG9yZTo6Y3JlYXRlU3VyZmFjZSgpCiAgICAgZC0+bV93
ZWJQYWdlLT5zZXRGb2N1c2VkKHRydWUpOwogfQogCi12b2lkIEJhY2tpbmdTdG9yZTo6c3VzcGVu
ZFNjcmVlbkFuZEJhY2tpbmdTdG9yZVVwZGF0ZXMoKQordm9pZCBCYWNraW5nU3RvcmU6OnN1c3Bl
bmRCYWNraW5nU3RvcmVVcGRhdGVzKCkKK3sKKyAgICBkLT5zdXNwZW5kQmFja2luZ1N0b3JlVXBk
YXRlcygpOworfQorCit2b2lkIEJhY2tpbmdTdG9yZTo6cmVzdW1lQmFja2luZ1N0b3JlVXBkYXRl
cygpCit7CisgICAgZC0+cmVzdW1lQmFja2luZ1N0b3JlVXBkYXRlcygpOworfQorCit2b2lkIEJh
Y2tpbmdTdG9yZTo6c3VzcGVuZFNjcmVlblVwZGF0ZXMoKQogewotICAgIGQtPnN1c3BlbmRTY3Jl
ZW5BbmRCYWNraW5nU3RvcmVVcGRhdGVzKCk7CisgICAgZC0+c3VzcGVuZFNjcmVlblVwZGF0ZXMo
KTsKIH0KIAotdm9pZCBCYWNraW5nU3RvcmU6OnJlc3VtZVNjcmVlbkFuZEJhY2tpbmdTdG9yZVVw
ZGF0ZXMoUmVzdW1lVXBkYXRlT3BlcmF0aW9uIG9wKQordm9pZCBCYWNraW5nU3RvcmU6OnJlc3Vt
ZVNjcmVlblVwZGF0ZXMoUmVzdW1lVXBkYXRlT3BlcmF0aW9uIG9wKQogewotICAgIGQtPnJlc3Vt
ZVNjcmVlbkFuZEJhY2tpbmdTdG9yZVVwZGF0ZXMob3ApOworICAgIGQtPnJlc3VtZVNjcmVlblVw
ZGF0ZXMob3ApOwogfQogCiBib29sIEJhY2tpbmdTdG9yZTo6aXNTY3JvbGxpbmdPclpvb21pbmco
KSBjb25zdApAQCAtMjY1MiwxMCArMjY4MCwxMiBAQCB2b2lkIEJhY2tpbmdTdG9yZTo6Y3JlYXRl
QmFja2luZ1N0b3JlTWVtb3J5KCkKIHsKICAgICBpZiAoQmFja2luZ1N0b3JlUHJpdmF0ZTo6c19j
dXJyZW50QmFja2luZ1N0b3JlT3duZXIgPT0gZC0+bV93ZWJQYWdlKQogICAgICAgICBTdXJmYWNl
UG9vbDo6Z2xvYmFsU3VyZmFjZVBvb2woKS0+Y3JlYXRlQnVmZmVycygpOworICAgIHJlc3VtZUJh
Y2tpbmdTdG9yZVVwZGF0ZXMoKTsKIH0KIAogdm9pZCBCYWNraW5nU3RvcmU6OnJlbGVhc2VCYWNr
aW5nU3RvcmVNZW1vcnkoKQogeworICAgIHN1c3BlbmRCYWNraW5nU3RvcmVVcGRhdGVzKCk7CiAg
ICAgaWYgKEJhY2tpbmdTdG9yZVByaXZhdGU6OnNfY3VycmVudEJhY2tpbmdTdG9yZU93bmVyID09
IGQtPm1fd2ViUGFnZSkKICAgICAgICAgU3VyZmFjZVBvb2w6Omdsb2JhbFN1cmZhY2VQb29sKCkt
PnJlbGVhc2VCdWZmZXJzKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVy
cnkvQXBpL0JhY2tpbmdTdG9yZS5oIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9CYWNr
aW5nU3RvcmUuaAppbmRleCAyNTAxYzk4Li5hNWY5OWI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2JsYWNrYmVycnkvQXBpL0JhY2tpbmdTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxh
Y2tiZXJyeS9BcGkvQmFja2luZ1N0b3JlLmgKQEAgLTUzLDggKzUzLDExIEBAIHB1YmxpYzoKIAog
ICAgIHZvaWQgY3JlYXRlU3VyZmFjZSgpOwogCi0gICAgdm9pZCBzdXNwZW5kU2NyZWVuQW5kQmFj
a2luZ1N0b3JlVXBkYXRlcygpOwotICAgIHZvaWQgcmVzdW1lU2NyZWVuQW5kQmFja2luZ1N0b3Jl
VXBkYXRlcyhSZXN1bWVVcGRhdGVPcGVyYXRpb24pOworICAgIHZvaWQgc3VzcGVuZEJhY2tpbmdT
dG9yZVVwZGF0ZXMoKTsKKyAgICB2b2lkIHJlc3VtZUJhY2tpbmdTdG9yZVVwZGF0ZXMoKTsKKwor
ICAgIHZvaWQgc3VzcGVuZFNjcmVlblVwZGF0ZXMoKTsKKyAgICB2b2lkIHJlc3VtZVNjcmVlblVw
ZGF0ZXMoQmFja2luZ1N0b3JlOjpSZXN1bWVVcGRhdGVPcGVyYXRpb24pOwogCiAgICAgYm9vbCBp
c1Njcm9sbGluZ09yWm9vbWluZygpIGNvbnN0OwogICAgIHZvaWQgc2V0U2Nyb2xsaW5nT3Jab29t
aW5nKGJvb2wpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9CYWNr
aW5nU3RvcmVfcC5oIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9CYWNraW5nU3RvcmVf
cC5oCmluZGV4IDhlNTJhMTIuLjUwMWQ0MjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxh
Y2tiZXJyeS9BcGkvQmFja2luZ1N0b3JlX3AuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVy
cnkvQXBpL0JhY2tpbmdTdG9yZV9wLmgKQEAgLTEyNiwxMSArMTI2LDE3IEBAIHB1YmxpYzoKIAog
ICAgIGJvb2wgaXNTdXNwZW5kZWQoKSBjb25zdCB7IHJldHVybiBtX3N1c3BlbmRCYWNraW5nU3Rv
cmVVcGRhdGVzOyB9CiAKKyAgICAvLyBTdXNwZW5kcyBhbGwgYmFja2luZ3N0b3JlIHVwZGF0ZXMg
c28gdGhhdCByZW5kZXJpbmcgdG8gdGhlIGJhY2tpbmdzdG9yZSBpcyBkaXNhYmxlZC4KKyAgICB2
b2lkIHN1c3BlbmRCYWNraW5nU3RvcmVVcGRhdGVzKCk7CisKKyAgICAvLyBSZXN1bWVzIGFsbCBi
YWNraW5nc3RvcmUgdXBkYXRlcyBzbyB0aGF0IHJlbmRlcmluZyB0byB0aGUgYmFja2luZ3N0b3Jl
IGlzIGVuYWJsZWQuCisgICAgdm9pZCByZXN1bWVCYWNraW5nU3RvcmVVcGRhdGVzKCk7CisKICAg
ICAvLyBTdXNwZW5kcyBhbGwgc2NyZWVuIHVwZGF0ZXMgc28gdGhhdCAnYmxpdFZpc2libGVDb250
ZW50cycgaXMgZGlzYWJsZWQuCi0gICAgdm9pZCBzdXNwZW5kU2NyZWVuQW5kQmFja2luZ1N0b3Jl
VXBkYXRlcygpOworICAgIHZvaWQgc3VzcGVuZFNjcmVlblVwZGF0ZXMoKTsKIAogICAgIC8vIFJl
c3VtZXMgYWxsIHNjcmVlbiB1cGRhdGVzIHNvIHRoYXQgJ2JsaXRWaXNpYmxlQ29udGVudHMnIGlz
IGVuYWJsZWQuCi0gICAgdm9pZCByZXN1bWVTY3JlZW5BbmRCYWNraW5nU3RvcmVVcGRhdGVzKEJh
Y2tpbmdTdG9yZTo6UmVzdW1lVXBkYXRlT3BlcmF0aW9uKTsKKyAgICB2b2lkIHJlc3VtZVNjcmVl
blVwZGF0ZXMoQmFja2luZ1N0b3JlOjpSZXN1bWVVcGRhdGVPcGVyYXRpb24pOwogCiAgICAgLy8g
VGhlIGZ1bmN0aW9ucyByZXBhaW50KCksIHNsb3dTY3JvbGwoKSwgc2Nyb2xsKCksIHNjcm9sbGlu
Z1N0YXJ0ZWRIZWxwZXIoKSBhcmUKICAgICAvLyBjYWxsZWQgZnJvbSBvdXRzaWRlIFdlYktpdCBh
bmQgd2l0aGluIFdlYktpdCB2aWEgQ2hyb21lQ2xpZW50QmxhY2tCZXJyeS4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0
L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2UuY3BwCmluZGV4IGJmZGYxNjQ0Li42MTdkZmRmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2UuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZS5jcHAKQEAgLTEwOTMsNyArMTA5Myw5
IEBAIHZvaWQgV2ViUGFnZVByaXZhdGU6OnNldExvYWRTdGF0ZShMb2FkU3RhdGUgc3RhdGUpCiAj
ZW5kaWYKIAogICAgICAgICAgICAgLy8gU3VzcGVuZCBzY3JlZW4gdXBkYXRlIHRvIGF2b2lkIHVp
IHRocmVhZCBibGl0dGluZyB3aGlsZSByZXNldHRpbmcgYmFja2luZ3N0b3JlLgotICAgICAgICAg
ICAgbV9iYWNraW5nU3RvcmUtPmQtPnN1c3BlbmRTY3JlZW5BbmRCYWNraW5nU3RvcmVVcGRhdGVz
KCk7CisgICAgICAgICAgICAvLyBGSVhNRTogRG8gd2UgcmVhbGx5IG5lZWQgdG8gc3VzcGVuZC9y
ZXN1bWUgYm90aCBiYWNraW5nc3RvcmUgYW5kIHNjcmVlbiBoZXJlPworICAgICAgICAgICAgbV9i
YWNraW5nU3RvcmUtPmQtPnN1c3BlbmRCYWNraW5nU3RvcmVVcGRhdGVzKCk7CisgICAgICAgICAg
ICBtX2JhY2tpbmdTdG9yZS0+ZC0+c3VzcGVuZFNjcmVlblVwZGF0ZXMoKTsKIAogICAgICAgICAg
ICAgbV9wcmV2aW91c0NvbnRlbnRzU2l6ZSA9IEludFNpemUoKTsKICAgICAgICAgICAgIG1fYmFj
a2luZ1N0b3JlLT5kLT5yZXNldFJlbmRlclF1ZXVlKCk7CkBAIC0xMTUyLDcgKzExNTQsOSBAQCB2
b2lkIFdlYlBhZ2VQcml2YXRlOjpzZXRMb2FkU3RhdGUoTG9hZFN0YXRlIHN0YXRlKQogICAgICAg
ICAgICAgc2V0U2Nyb2xsUG9zaXRpb24oSW50UG9pbnQ6Onplcm8oKSk7CiAgICAgICAgICAgICBu
b3RpZnlUcmFuc2Zvcm1lZFNjcm9sbENoYW5nZWQoKTsKIAotICAgICAgICAgICAgbV9iYWNraW5n
U3RvcmUtPmQtPnJlc3VtZVNjcmVlbkFuZEJhY2tpbmdTdG9yZVVwZGF0ZXMoQmFja2luZ1N0b3Jl
OjpOb25lKTsKKyAgICAgICAgICAgIC8vIEZJWE1FOiBEbyB3ZSByZWFsbHkgbmVlZCB0byBzdXNw
ZW5kL3Jlc3VtZSBib3RoIGJhY2tpbmdzdG9yZSBhbmQgc2NyZWVuIGhlcmU/CisgICAgICAgICAg
ICBtX2JhY2tpbmdTdG9yZS0+ZC0+cmVzdW1lQmFja2luZ1N0b3JlVXBkYXRlcygpOworICAgICAg
ICAgICAgbV9iYWNraW5nU3RvcmUtPmQtPnJlc3VtZVNjcmVlblVwZGF0ZXMoQmFja2luZ1N0b3Jl
OjpOb25lKTsKIAogICAgICAgICAgICAgLy8gUGFpbnRzIHRoZSB2aXNpYmxlIGJhY2tpbmdzdG9y
ZSBhcyB3aGl0ZS4gTm90ZSBpdCBpcyBpbXBvcnRhbnQgd2UgZG8KICAgICAgICAgICAgIC8vIHRo
aXMgc3RyaWN0bHkgYWZ0ZXIgcmUtc2V0dGluZyB0aGUgc2Nyb2xsIHBvc2l0aW9uIHRvIG9yaWdp
biBhbmQgcmVzZXR0aW5nCkBAIC0xMjU0LDcgKzEyNTgsOSBAQCBib29sIFdlYlBhZ2VQcml2YXRl
Ojp6b29tQWJvdXRQb2ludChkb3VibGUgdW5jbGFtcGVkU2NhbGUsIGNvbnN0IEZsb2F0UG9pbnQm
IGFuYwogICAgICptX3RyYW5zZm9ybWF0aW9uTWF0cml4ID0gem9vbTsKIAogICAgIC8vIFN1c3Bl
bmQgYWxsIHNjcmVlbiB1cGRhdGVzIHRvIHRoZSBiYWNraW5nc3RvcmUuCi0gICAgbV9iYWNraW5n
U3RvcmUtPmQtPnN1c3BlbmRTY3JlZW5BbmRCYWNraW5nU3RvcmVVcGRhdGVzKCk7CisgICAgLy8g
RklYTUU6IERvIHdlIHJlYWxseSBuZWVkIHRvIHN1c3BlbmQvcmVzdW1lIGJvdGggYmFja2luZ3N0
b3JlIGFuZCBzY3JlZW4gaGVyZT8KKyAgICBtX2JhY2tpbmdTdG9yZS0+ZC0+c3VzcGVuZEJhY2tp
bmdTdG9yZVVwZGF0ZXMoKTsKKyAgICBtX2JhY2tpbmdTdG9yZS0+ZC0+c3VzcGVuZFNjcmVlblVw
ZGF0ZXMoKTsKIAogICAgIHVwZGF0ZVZpZXdwb3J0U2l6ZSgpOwogCkBAIC0xMjkzLDEzICsxMjk5
LDE2IEBAIGJvb2wgV2ViUGFnZVByaXZhdGU6Onpvb21BYm91dFBvaW50KGRvdWJsZSB1bmNsYW1w
ZWRTY2FsZSwgY29uc3QgRmxvYXRQb2ludCYgYW5jCiAKICAgICBtX2NsaWVudC0+em9vbUNoYW5n
ZWQobV93ZWJQYWdlLT5pc01pblpvb21lZCgpLCBtX3dlYlBhZ2UtPmlzTWF4Wm9vbWVkKCksICFz
aG91bGRab29tT25Fc2NhcGUoKSwgY3VycmVudFNjYWxlKCkpOwogCisgICAgLy8gRklYTUU6IERv
IHdlIHJlYWxseSBuZWVkIHRvIHN1c3BlbmQvcmVzdW1lIGJvdGggYmFja2luZ3N0b3JlIGFuZCBz
Y3JlZW4gaGVyZT8KKyAgICBtX2JhY2tpbmdTdG9yZS0+ZC0+cmVzdW1lQmFja2luZ1N0b3JlVXBk
YXRlcygpOworCiAgICAgLy8gQ2xlYXIgd2luZG93IHRvIG1ha2Ugc3VyZSB0aGVyZSBhcmUgbm8g
YXJ0aWZhY3RzLgogICAgIGlmIChzaG91bGRSZW5kZXIpIHsKICAgICAgICAgLy8gUmVzdW1lIGFs
bCBzY3JlZW4gdXBkYXRlcyB0byB0aGUgYmFja2luZ3N0b3JlIGFuZCByZW5kZXIrYmxpdCB2aXNp
YmxlIGNvbnRlbnRzIHRvIHNjcmVlbi4KLSAgICAgICAgbV9iYWNraW5nU3RvcmUtPmQtPnJlc3Vt
ZVNjcmVlbkFuZEJhY2tpbmdTdG9yZVVwZGF0ZXMoQmFja2luZ1N0b3JlOjpSZW5kZXJBbmRCbGl0
KTsKKyAgICAgICAgbV9iYWNraW5nU3RvcmUtPmQtPnJlc3VtZVNjcmVlblVwZGF0ZXMoQmFja2lu
Z1N0b3JlOjpSZW5kZXJBbmRCbGl0KTsKICAgICB9IGVsc2UgewogICAgICAgICAvLyBSZXN1bWUg
YWxsIHNjcmVlbiB1cGRhdGVzIHRvIHRoZSBiYWNraW5nc3RvcmUgYnV0IGRvIG5vdCBibGl0IHRv
IHRoZSBzY3JlZW4gYmVjYXVzZSB3ZSBub3QgcmVuZGVyaW5nLgotICAgICAgICBtX2JhY2tpbmdT
dG9yZS0+ZC0+cmVzdW1lU2NyZWVuQW5kQmFja2luZ1N0b3JlVXBkYXRlcyhCYWNraW5nU3RvcmU6
Ok5vbmUpOworICAgICAgICBtX2JhY2tpbmdTdG9yZS0+ZC0+cmVzdW1lU2NyZWVuVXBkYXRlcyhC
YWNraW5nU3RvcmU6Ok5vbmUpOwogICAgIH0KIAogICAgIHJldHVybiB0cnVlOwpAQCAtMzAxOCw3
ICszMDI3LDkgQEAgdm9pZCBXZWJQYWdlUHJpdmF0ZTo6em9vbUJsb2NrKCkKICAgICB6b29tLnNj
YWxlKG1fYmxvY2tab29tRmluYWxTY2FsZSk7CiAgICAgKm1fdHJhbnNmb3JtYXRpb25NYXRyaXgg
PSB6b29tOwogICAgIG1fY2xpZW50LT5yZXNldEJpdG1hcFpvb21TY2FsZShtX2Jsb2NrWm9vbUZp
bmFsU2NhbGUpOwotICAgIG1fYmFja2luZ1N0b3JlLT5kLT5zdXNwZW5kU2NyZWVuQW5kQmFja2lu
Z1N0b3JlVXBkYXRlcygpOworICAgIC8vIEZJWE1FOiBEbyB3ZSByZWFsbHkgbmVlZCB0byBzdXNw
ZW5kL3Jlc3VtZSBib3RoIGJhY2tpbmdzdG9yZSBhbmQgc2NyZWVuIGhlcmU/CisgICAgbV9iYWNr
aW5nU3RvcmUtPmQtPnN1c3BlbmRCYWNraW5nU3RvcmVVcGRhdGVzKCk7CisgICAgbV9iYWNraW5n
U3RvcmUtPmQtPnN1c3BlbmRTY3JlZW5VcGRhdGVzKCk7CiAgICAgdXBkYXRlVmlld3BvcnRTaXpl
KCk7CiAKICNpZiBFTkFCTEUoVklFV1BPUlRfUkVGTE9XKQpAQCAtMzA3NSw3ICszMDg2LDkgQEAg
dm9pZCBXZWJQYWdlUHJpdmF0ZTo6em9vbUJsb2NrKCkKIAogICAgIG5vdGlmeVRyYW5zZm9ybUNo
YW5nZWQoKTsKICAgICBtX2NsaWVudC0+em9vbUNoYW5nZWQobV93ZWJQYWdlLT5pc01pblpvb21l
ZCgpLCBtX3dlYlBhZ2UtPmlzTWF4Wm9vbWVkKCksICFzaG91bGRab29tT25Fc2NhcGUoKSwgY3Vy
cmVudFNjYWxlKCkpOwotICAgIG1fYmFja2luZ1N0b3JlLT5kLT5yZXN1bWVTY3JlZW5BbmRCYWNr
aW5nU3RvcmVVcGRhdGVzKEJhY2tpbmdTdG9yZTo6UmVuZGVyQW5kQmxpdCk7CisgICAgLy8gRklY
TUU6IERvIHdlIHJlYWxseSBuZWVkIHRvIHN1c3BlbmQvcmVzdW1lIGJvdGggYmFja2luZ3N0b3Jl
IGFuZCBzY3JlZW4gaGVyZT8KKyAgICBtX2JhY2tpbmdTdG9yZS0+ZC0+cmVzdW1lQmFja2luZ1N0
b3JlVXBkYXRlcygpOworICAgIG1fYmFja2luZ1N0b3JlLT5kLT5yZXN1bWVTY3JlZW5VcGRhdGVz
KEJhY2tpbmdTdG9yZTo6UmVuZGVyQW5kQmxpdCk7CiB9CiAKIHZvaWQgV2ViUGFnZTo6YmxvY2ta
b29tQW5pbWF0aW9uRmluaXNoZWQoKQpAQCAtMzExMiw3ICszMTI1LDkgQEAgdm9pZCBXZWJQYWdl
OjpkZXN0cm95KCkKICAgICBkaXNhYmxlV2ViSW5zcGVjdG9yKCk7CiAKICAgICAvLyBXZWJQYWdl
OjpkZXN0cm95V2ViUGFnZUNvbXBvc2l0b3IoKQotICAgIGQtPm1fYmFja2luZ1N0b3JlLT5kLT5z
dXNwZW5kU2NyZWVuQW5kQmFja2luZ1N0b3JlVXBkYXRlcygpOworICAgIC8vIEZJWE1FOiBEbyB3
ZSByZWFsbHkgbmVlZCB0byBzdXNwZW5kL3Jlc3VtZSBib3RoIGJhY2tpbmdzdG9yZSBhbmQgc2Ny
ZWVuIGhlcmU/CisgICAgZC0+bV9iYWNraW5nU3RvcmUtPmQtPnN1c3BlbmRCYWNraW5nU3RvcmVV
cGRhdGVzKCk7CisgICAgZC0+bV9iYWNraW5nU3RvcmUtPmQtPnN1c3BlbmRTY3JlZW5VcGRhdGVz
KCk7CiAKICAgICAvLyBDbG9zZSB0aGUgYmFja2ZvcndhcmQgbGlzdCBhbmQgcmVsZWFzZSB0aGUg
Y2FjaGVkIHBhZ2VzLgogICAgIGQtPm1fcGFnZS0+YmFja0ZvcndhcmQoKS0+Y2xvc2UoKTsKQEAg
LTM2NDcsNyArMzY2Miw5IEBAIHZvaWQgV2ViUGFnZVByaXZhdGU6OnNldFZpZXdwb3J0U2l6ZShj
b25zdCBJbnRTaXplJiB0cmFuc2Zvcm1lZEFjdHVhbFZpc2libGVTaXplCiAKICAgICAvLyBTdXNw
ZW5kIGFsbCBzY3JlZW4gdXBkYXRlcyB0byB0aGUgYmFja2luZ3N0b3JlIHRvIG1ha2Ugc3VyZSBu
by1vbmUgdHJpZXMgdG8gYmxpdAogICAgIC8vIHdoaWxlIHRoZSB3aW5kb3cgc3VyZmFjZSBhbmQg
dGhlIEJhY2tpbmdTdG9yZSBhcmUgb3V0IG9mIHN5bmMuCi0gICAgbV9iYWNraW5nU3RvcmUtPmQt
PnN1c3BlbmRTY3JlZW5BbmRCYWNraW5nU3RvcmVVcGRhdGVzKCk7CisgICAgLy8gRklYTUU6IERv
IHdlIHJlYWxseSBuZWVkIHRvIHN1c3BlbmQvcmVzdW1lIGJvdGggYmFja2luZ3N0b3JlIGFuZCBz
Y3JlZW4gaGVyZT8KKyAgICBtX2JhY2tpbmdTdG9yZS0+ZC0+c3VzcGVuZEJhY2tpbmdTdG9yZVVw
ZGF0ZXMoKTsKKyAgICBtX2JhY2tpbmdTdG9yZS0+ZC0+c3VzcGVuZFNjcmVlblVwZGF0ZXMoKTsK
IAogICAgIC8vIFRoZSBzY3JlZW4gcm90YXRpb24gaXMgYSBtYWpvciBzdGF0ZSB0cmFuc2l0aW9u
IHRoYXQgaW4gdGhpcyBjYXNlIGlzIG5vdCBwcm9wZXJseQogICAgIC8vIGNvbW11bmljYXRlZCB0
byB0aGUgYmFja2luZyBzdG9yZSwgc2luY2UgaXQgZG9lcyBlYXJseSByZXR1cm4gaW4gbW9zdCBt
ZXRob2RzIHdoZW4KQEAgLTM3NjUsNyArMzc4Miw5IEBAIHZvaWQgV2ViUGFnZVByaXZhdGU6OnNl
dFZpZXdwb3J0U2l6ZShjb25zdCBJbnRTaXplJiB0cmFuc2Zvcm1lZEFjdHVhbFZpc2libGVTaXpl
CiAKICAgICAvLyBOZWVkIHRvIHJlc3VtZSBzbyB0aGF0IHRoZSBiYWNraW5nc3RvcmUgd2lsbCBz
dGFydCByZWNvcmRpbmcgdGhlIGludmFsaWRhdGVkCiAgICAgLy8gcmVjdHMgZnJvbSBiZWxvdy4K
LSAgICBtX2JhY2tpbmdTdG9yZS0+ZC0+cmVzdW1lU2NyZWVuQW5kQmFja2luZ1N0b3JlVXBkYXRl
cyhCYWNraW5nU3RvcmU6Ok5vbmUpOworICAgIC8vIEZJWE1FOiBEbyB3ZSByZWFsbHkgbmVlZCB0
byBzdXNwZW5kL3Jlc3VtZSBib3RoIGJhY2tpbmdzdG9yZSBhbmQgc2NyZWVuIGhlcmU/CisgICAg
bV9iYWNraW5nU3RvcmUtPmQtPnJlc3VtZUJhY2tpbmdTdG9yZVVwZGF0ZXMoKTsKKyAgICBtX2Jh
Y2tpbmdTdG9yZS0+ZC0+cmVzdW1lU2NyZWVuVXBkYXRlcyhCYWNraW5nU3RvcmU6Ok5vbmUpOwog
CiAgICAgLy8gV2UgbWlnaHQgbmVlZCB0byBsYXlvdXQgaGVyZSB0byBnZXQgYSBjb3JyZWN0IGNv
bnRlbnRzU2l6ZSBzbyB0aGF0IHpvb21Ub0ZpdAogICAgIC8vIGlzIGNhbGN1bGF0ZWQgY29ycmVj
dGx5LgpAQCAtMzgzOCw3ICszODU3LDkgQEAgdm9pZCBXZWJQYWdlUHJpdmF0ZTo6c2V0Vmlld3Bv
cnRTaXplKGNvbnN0IEludFNpemUmIHRyYW5zZm9ybWVkQWN0dWFsVmlzaWJsZVNpemUKICAgICB9
IGVsc2UgewogCiAgICAgICAgIC8vIFN1c3BlbmQgYWxsIHNjcmVlbiB1cGRhdGVzIHRvIHRoZSBi
YWNraW5nc3RvcmUuCi0gICAgICAgIG1fYmFja2luZ1N0b3JlLT5kLT5zdXNwZW5kU2NyZWVuQW5k
QmFja2luZ1N0b3JlVXBkYXRlcygpOworICAgICAgICAvLyBGSVhNRTogRG8gd2UgcmVhbGx5IG5l
ZWQgdG8gc3VzcGVuZC9yZXN1bWUgYm90aCBiYWNraW5nc3RvcmUgYW5kIHNjcmVlbiBoZXJlPwor
ICAgICAgICBtX2JhY2tpbmdTdG9yZS0+ZC0+c3VzcGVuZEJhY2tpbmdTdG9yZVVwZGF0ZXMoKTsK
KyAgICAgICAgbV9iYWNraW5nU3RvcmUtPmQtPnN1c3BlbmRTY3JlZW5VcGRhdGVzKCk7CiAKICAg
ICAgICAgLy8gSWYgdGhlIHpvb20gZmFpbGVkLCB0aGVuIHdlIHNob3VsZCBzdGlsbCBwcmVzZXJ2
ZSB0aGUgc3BlY2lhbCBjYXNlIG9mIHNjcm9sbCBwb3NpdGlvbi4KICAgICAgICAgSW50UG9pbnQg
c2Nyb2xsUG9zaXRpb24gPSB0aGlzLT5zY3JvbGxQb3NpdGlvbigpOwpAQCAtMzg2Niw3ICszODg3
LDkgQEAgdm9pZCBXZWJQYWdlUHJpdmF0ZTo6c2V0Vmlld3BvcnRTaXplKGNvbnN0IEludFNpemUm
IHRyYW5zZm9ybWVkQWN0dWFsVmlzaWJsZVNpemUKICAgICAgICAgfQogCiAgICAgICAgIC8vIElm
IHdlIG5lZWQgbGF5b3V0IHRoZW4gcmVuZGVyIGFuZCBibGl0LCBvdGhlcndpc2UganVzdCBibGl0
IGFzIG91ciB2aWV3cG9ydCBoYXMgY2hhbmdlZC4KLSAgICAgICAgbV9iYWNraW5nU3RvcmUtPmQt
PnJlc3VtZVNjcmVlbkFuZEJhY2tpbmdTdG9yZVVwZGF0ZXMobmVlZHNMYXlvdXQgPyBCYWNraW5n
U3RvcmU6OlJlbmRlckFuZEJsaXQgOiBCYWNraW5nU3RvcmU6OkJsaXQpOworICAgICAgICAvLyBG
SVhNRTogRG8gd2UgcmVhbGx5IG5lZWQgdG8gc3VzcGVuZC9yZXN1bWUgYm90aCBiYWNraW5nc3Rv
cmUgYW5kIHNjcmVlbiBoZXJlPworICAgICAgICBtX2JhY2tpbmdTdG9yZS0+ZC0+cmVzdW1lQmFj
a2luZ1N0b3JlVXBkYXRlcygpOworICAgICAgICBtX2JhY2tpbmdTdG9yZS0+ZC0+cmVzdW1lU2Ny
ZWVuVXBkYXRlcyhuZWVkc0xheW91dCA/IEJhY2tpbmdTdG9yZTo6UmVuZGVyQW5kQmxpdCA6IEJh
Y2tpbmdTdG9yZTo6QmxpdCk7CiAgICAgfQogfQogCkBAIC01NDQ2LDE1ICs1NDY5LDIxIEBAIHZv
aWQgV2ViUGFnZVByaXZhdGU6OnNldENvbXBvc2l0b3IoUGFzc1JlZlB0cjxXZWJQYWdlQ29tcG9z
aXRvclByaXZhdGU+IGNvbXBvc2l0CiAgICAgLy8gVGhhdCBzZWVtcyBleHRyZW1lbHkgbGlrZWx5
IHRvIGJlIHRoZSBjYXNlLCBidXQgbGV0J3MgYXNzZXJ0IGp1c3QgdG8gbWFrZSBzdXJlLgogICAg
IEFTU0VSVCh3ZWJLaXRUaHJlYWRNZXNzYWdlQ2xpZW50KCktPmlzQ3VycmVudFRocmVhZCgpKTsK
IAotICAgIGlmIChtX2NvbXBvc2l0b3IgfHwgbV9jbGllbnQtPndpbmRvdygpKQotICAgICAgICBt
X2JhY2tpbmdTdG9yZS0+ZC0+c3VzcGVuZFNjcmVlbkFuZEJhY2tpbmdTdG9yZVVwZGF0ZXMoKTsK
KyAgICBpZiAobV9jb21wb3NpdG9yIHx8IG1fY2xpZW50LT53aW5kb3coKSkgeworICAgICAgICAv
LyBGSVhNRTogRG8gd2UgcmVhbGx5IG5lZWQgdG8gc3VzcGVuZC9yZXN1bWUgYm90aCBiYWNraW5n
c3RvcmUgYW5kIHNjcmVlbiBoZXJlPworICAgICAgICBtX2JhY2tpbmdTdG9yZS0+ZC0+c3VzcGVu
ZEJhY2tpbmdTdG9yZVVwZGF0ZXMoKTsKKyAgICAgICAgbV9iYWNraW5nU3RvcmUtPmQtPnN1c3Bl
bmRTY3JlZW5VcGRhdGVzKCk7CisgICAgfQogCiAgICAgLy8gVGhlIG1fY29tcG9zaXRvciBtZW1i
ZXIgaGFzIHRvIGJlIG1vZGlmaWVkIGR1cmluZyBhIHN5bmMgY2FsbCBmb3IgdGhyZWFkCiAgICAg
Ly8gc2FmZSBhY2Nlc3MgdG8gbV9jb21wb3NpdG9yIGFuZCBpdHMgcmVmY291bnQuCiAgICAgdXNl
ckludGVyZmFjZVRocmVhZE1lc3NhZ2VDbGllbnQoKS0+ZGlzcGF0Y2hTeW5jTWVzc2FnZShjcmVh
dGVNZXRob2RDYWxsTWVzc2FnZSgmV2ViUGFnZVByaXZhdGU6OnNldENvbXBvc2l0b3JIZWxwZXIs
IHRoaXMsIGNvbXBvc2l0b3IpKTsKIAotICAgIGlmIChtX2NvbXBvc2l0b3IgfHwgbV9jbGllbnQt
PndpbmRvdygpKSAvLyB0aGUgbmV3IGNvbXBvc2l0b3IsIGlmIG9uZSB3YXMgc2V0Ci0gICAgICAg
IG1fYmFja2luZ1N0b3JlLT5kLT5yZXN1bWVTY3JlZW5BbmRCYWNraW5nU3RvcmVVcGRhdGVzKEJh
Y2tpbmdTdG9yZTo6UmVuZGVyQW5kQmxpdCk7CisgICAgaWYgKG1fY29tcG9zaXRvciB8fCBtX2Ns
aWVudC0+d2luZG93KCkpIHsgLy8gdGhlIG5ldyBjb21wb3NpdG9yLCBpZiBvbmUgd2FzIHNldAor
ICAgICAgICAvLyBGSVhNRTogRG8gd2UgcmVhbGx5IG5lZWQgdG8gc3VzcGVuZC9yZXN1bWUgYm90
aCBiYWNraW5nc3RvcmUgYW5kIHNjcmVlbiBoZXJlPworICAgICAgICBtX2JhY2tpbmdTdG9yZS0+
ZC0+cmVzdW1lQmFja2luZ1N0b3JlVXBkYXRlcygpOworICAgICAgICBtX2JhY2tpbmdTdG9yZS0+
ZC0+cmVzdW1lU2NyZWVuVXBkYXRlcyhCYWNraW5nU3RvcmU6OlJlbmRlckFuZEJsaXQpOworICAg
IH0KIH0KIAogdm9pZCBXZWJQYWdlUHJpdmF0ZTo6c2V0Q29tcG9zaXRvckhlbHBlcihQYXNzUmVm
UHRyPFdlYlBhZ2VDb21wb3NpdG9yUHJpdmF0ZT4gY29tcG9zaXRvcikKQEAgLTU5MTEsNyArNTk0
MCw5IEBAIHZvaWQgV2ViUGFnZVByaXZhdGU6OmV4aXRGdWxsU2NyZWVuRm9yRWxlbWVudChFbGVt
ZW50KiBlbGVtZW50KQogICAgICAgICAvLyBUaGUgQnJvd3NlciBjaHJvbWUgaGFzIGl0cyBvd24g
ZnVsbHNjcmVlbiB2aWRlbyB3aWRnZXQuCiAgICAgICAgIGV4aXRGdWxsc2NyZWVuRm9yTm9kZShl
bGVtZW50KTsKICAgICB9IGVsc2UgewotICAgICAgICBtX2JhY2tpbmdTdG9yZS0+ZC0+c3VzcGVu
ZFNjcmVlbkFuZEJhY2tpbmdTdG9yZVVwZGF0ZXMoKTsKKyAgICAgICAgLy8gRklYTUU6IERvIHdl
IHJlYWxseSBuZWVkIHRvIHN1c3BlbmQvcmVzdW1lIGJvdGggYmFja2luZ3N0b3JlIGFuZCBzY3Jl
ZW4gaGVyZT8KKyAgICAgICAgbV9iYWNraW5nU3RvcmUtPmQtPnN1c3BlbmRCYWNraW5nU3RvcmVV
cGRhdGVzKCk7CisgICAgICAgIG1fYmFja2luZ1N0b3JlLT5kLT5zdXNwZW5kU2NyZWVuVXBkYXRl
cygpOwogCiAgICAgICAgIC8vIFdoZW4gbGVhdmluZyBmdWxsc2NyZWVuIG1vZGUsIHdlIG5lZWQg
dG8gcmVzdG9yZSB0aGUgJ3gnIHNjcm9sbCBwb3NpdGlvbgogICAgICAgICAvLyBiZWZvcmUgZnVs
bHNjcmVlbi4KQEAgLTU5MzIsNyArNTk2Myw5IEBAIHZvaWQgV2ViUGFnZVByaXZhdGU6OmV4aXRG
dWxsU2NyZWVuRm9yRWxlbWVudChFbGVtZW50KiBlbGVtZW50KQogICAgICAgICB9CiAKICAgICAg
ICAgbm90aWZ5VHJhbnNmb3JtQ2hhbmdlZCgpOwotICAgICAgICBtX2JhY2tpbmdTdG9yZS0+ZC0+
cmVzdW1lU2NyZWVuQW5kQmFja2luZ1N0b3JlVXBkYXRlcyhCYWNraW5nU3RvcmU6OlJlbmRlckFu
ZEJsaXQpOworICAgICAgICAvLyBGSVhNRTogRG8gd2UgcmVhbGx5IG5lZWQgdG8gc3VzcGVuZC9y
ZXN1bWUgYm90aCBiYWNraW5nc3RvcmUgYW5kIHNjcmVlbiBoZXJlPworICAgICAgICBtX2JhY2tp
bmdTdG9yZS0+ZC0+cmVzdW1lQmFja2luZ1N0b3JlVXBkYXRlcygpOworICAgICAgICBtX2JhY2tp
bmdTdG9yZS0+ZC0+cmVzdW1lU2NyZWVuVXBkYXRlcyhCYWNraW5nU3RvcmU6OlJlbmRlckFuZEJs
aXQpOwogCiAgICAgICAgIC8vIFRoaXMgaXMgd2hlcmUgd2Ugd291bGQgcmVzdG9yZSB0aGUgYnJv
d3NlcidzIGNocm9tZQogICAgICAgICAvLyBpZiBoaWRkZW4gYWJvdmUuCkBAIC02Mjk1LDcgKzYz
MjgsOSBAQCB2b2lkIFdlYlBhZ2VQcml2YXRlOjpzZXRUZXh0Wm9vbUZhY3RvcihmbG9hdCB0ZXh0
Wm9vbUZhY3RvcikKIHZvaWQgV2ViUGFnZVByaXZhdGU6OnJlc3RvcmVIaXN0b3J5Vmlld1N0YXRl
KFBsYXRmb3JtOjpJbnRTaXplIGNvbnRlbnRzU2l6ZSwgUGxhdGZvcm06OkludFBvaW50IHNjcm9s
bFBvc2l0aW9uLCBkb3VibGUgc2NhbGUsIGJvb2wgc2hvdWxkUmVmbG93QmxvY2spCiB7CiAgICAg
aWYgKCFtX21haW5GcmFtZSkgewotICAgICAgICBtX2JhY2tpbmdTdG9yZS0+ZC0+cmVzdW1lU2Ny
ZWVuQW5kQmFja2luZ1N0b3JlVXBkYXRlcyhCYWNraW5nU3RvcmU6OlJlbmRlckFuZEJsaXQpOwor
ICAgICAgICAvLyBGSVhNRTogRG8gd2UgcmVhbGx5IG5lZWQgdG8gc3VzcGVuZC9yZXN1bWUgYm90
aCBiYWNraW5nc3RvcmUgYW5kIHNjcmVlbiBoZXJlPworICAgICAgICBtX2JhY2tpbmdTdG9yZS0+
ZC0+cmVzdW1lQmFja2luZ1N0b3JlVXBkYXRlcygpOworICAgICAgICBtX2JhY2tpbmdTdG9yZS0+
ZC0+cmVzdW1lU2NyZWVuVXBkYXRlcyhCYWNraW5nU3RvcmU6OlJlbmRlckFuZEJsaXQpOwogICAg
ICAgICByZXR1cm47CiAgICAgfQogCkBAIC02MzEzLDcgKzYzNDgsOSBAQCB2b2lkIFdlYlBhZ2VQ
cml2YXRlOjpyZXN0b3JlSGlzdG9yeVZpZXdTdGF0ZShQbGF0Zm9ybTo6SW50U2l6ZSBjb250ZW50
c1NpemUsIFBsYQogICAgIGJvb2wgZGlkWm9vbSA9IHpvb21BYm91dFBvaW50KHNjYWxlLCBtX21h
aW5GcmFtZS0+dmlldygpLT5zY3JvbGxQb3NpdGlvbigpLCB0cnVlIC8qIGVuZm9yY2VTY2FsZUNs
YW1waW5nICovLCB0cnVlIC8qZm9yY2VSZW5kZXJpbmcqLywgdHJ1ZSAvKmlzUmVzdG9yaW5nWm9v
bUxldmVsKi8pOwogICAgIC8vIElmIHdlJ3JlIGFscmVhZHkgYXQgdGhhdCBzY2FsZSwgdGhlbiB3
ZSBzaG91bGQgc3RpbGwgZm9yY2UgcmVuZGVyaW5nCiAgICAgLy8gc2luY2Ugb3VyIHNjcm9sbCBw
b3NpdGlvbiBjaGFuZ2VkLgotICAgIG1fYmFja2luZ1N0b3JlLT5kLT5yZXN1bWVTY3JlZW5BbmRC
YWNraW5nU3RvcmVVcGRhdGVzKEJhY2tpbmdTdG9yZTo6UmVuZGVyQW5kQmxpdCk7CisgICAgLy8g
RklYTUU6IERvIHdlIHJlYWxseSBuZWVkIHRvIHN1c3BlbmQvcmVzdW1lIGJvdGggYmFja2luZ3N0
b3JlIGFuZCBzY3JlZW4gaGVyZT8KKyAgICBtX2JhY2tpbmdTdG9yZS0+ZC0+cmVzdW1lQmFja2lu
Z1N0b3JlVXBkYXRlcygpOworICAgIG1fYmFja2luZ1N0b3JlLT5kLT5yZXN1bWVTY3JlZW5VcGRh
dGVzKEJhY2tpbmdTdG9yZTo6UmVuZGVyQW5kQmxpdCk7CiAKICAgICBpZiAoIWRpZFpvb20pIHsK
ICAgICAgICAgLy8gV2UgbmVlZCB0byBub3RpZnkgdGhlIGNsaWVudCBvZiB0aGUgc2Nyb2xsIHBv
c2l0aW9uIGFuZCBjb250ZW50IHNpemUgY2hhbmdlKHMpIGFib3ZlIGV2ZW4gaWYgd2UgZGlkbid0
IHNjYWxlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cKaW5kZXggOWJmZGQzMi4uZGY3MmNi
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDcgQEAKKzIwMTIt
MTEtMTMgIEFkYW0gVHJlYXQgIDxhdHJlYXRAcmltLmNvbT4KKworICAgICAgICBbQmxhY2tCZXJy
eV0gQnJlYWsgc3VzcGVuZC9yZXN1bWUgb2YgdGhlIGJhY2tpbmdzdG9yZSBhbmQgc2NyZWVuIGlu
dG8gc2VwYXJhdGUgbWV0aG9kcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTAyMTI2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisgICAgICAgIFBSIDIxOTk3NgorCisgICAgICAgIE1vZGlmeSB0aGUgc3VzcGVuZC9yZXN1bWUg
bWV0aG9kcyBzbyB0aGF0IHRoZXkgY2FuIGJlIGNhbGxlZCBmcm9tIHRoZSBVSSB0aHJlYWQKKyAg
ICAgICAgaXRzZWxmIGFuZCBzcGxpdCB1cCB0aGUgc3VzcGVuZC9yZXN1bWUgbWV0aG9kcyBzbyB0
aGF0IHdlIGNhbiBzdXNwZW5kL3Jlc3VtZQorICAgICAgICB0aGUgc2NyZWVuIG9yIGJhY2tpbmdz
dG9yZSBzZXBhcmF0ZWx5LgorCisgICAgICAgICogQXBpL0JhY2tpbmdTdG9yZS5jcHA6CisgICAg
ICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6OkJhY2tpbmdTdG9yZVByaXZhdGU6OnN1c3BlbmRCYWNr
aW5nU3RvcmVVcGRhdGVzKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChCbGFja0JlcnJ5
OjpXZWJLaXQ6OkJhY2tpbmdTdG9yZVByaXZhdGU6OnN1c3BlbmRTY3JlZW5VcGRhdGVzKToKKyAg
ICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6QmFja2luZ1N0b3JlUHJpdmF0ZTo6cmVzdW1lQmFj
a2luZ1N0b3JlVXBkYXRlcyk6CisgICAgICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6OkJhY2tpbmdT
dG9yZVByaXZhdGU6OnJlc3VtZVNjcmVlblVwZGF0ZXMpOgorICAgICAgICAoQmxhY2tCZXJyeTo6
V2ViS2l0OjpCYWNraW5nU3RvcmVQcml2YXRlOjpibGl0VmlzaWJsZUNvbnRlbnRzKToKKyAgICAg
ICAgKEJsYWNrQmVycnk6OldlYktpdDo6QmFja2luZ1N0b3JlUHJpdmF0ZTo6Y3JlYXRlU3VyZmFj
ZXMpOgorICAgICAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpCYWNraW5nU3RvcmU6OnN1c3BlbmRC
YWNraW5nU3RvcmVVcGRhdGVzKToKKyAgICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6QmFja2lu
Z1N0b3JlOjpyZXN1bWVCYWNraW5nU3RvcmVVcGRhdGVzKToKKyAgICAgICAgKEJsYWNrQmVycnk6
OldlYktpdDo6QmFja2luZ1N0b3JlOjpzdXNwZW5kU2NyZWVuVXBkYXRlcyk6CisgICAgICAgIChC
bGFja0JlcnJ5OjpXZWJLaXQ6OkJhY2tpbmdTdG9yZTo6cmVzdW1lU2NyZWVuVXBkYXRlcyk6Cisg
ICAgICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6OkJhY2tpbmdTdG9yZTo6Y3JlYXRlQmFja2luZ1N0
b3JlTWVtb3J5KToKKyAgICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6QmFja2luZ1N0b3JlOjpy
ZWxlYXNlQmFja2luZ1N0b3JlTWVtb3J5KToKKyAgICAgICAgKiBBcGkvQmFja2luZ1N0b3JlLmg6
CisgICAgICAgICogQXBpL0JhY2tpbmdTdG9yZV9wLmg6CisgICAgICAgIChCYWNraW5nU3RvcmVQ
cml2YXRlKToKKyAgICAgICAgKiBBcGkvV2ViUGFnZS5jcHA6CisgICAgICAgIChCbGFja0JlcnJ5
OjpXZWJLaXQ6OldlYlBhZ2VQcml2YXRlOjpzZXRMb2FkU3RhdGUpOgorICAgICAgICAoQmxhY2tC
ZXJyeTo6V2ViS2l0OjpXZWJQYWdlUHJpdmF0ZTo6em9vbUFib3V0UG9pbnQpOgorICAgICAgICAo
QmxhY2tCZXJyeTo6V2ViS2l0OjpXZWJQYWdlUHJpdmF0ZTo6em9vbUJsb2NrKToKKyAgICAgICAg
KEJsYWNrQmVycnk6OldlYktpdDo6V2ViUGFnZTo6ZGVzdHJveSk6CisgICAgICAgIChCbGFja0Jl
cnJ5OjpXZWJLaXQ6OldlYlBhZ2VQcml2YXRlOjpzZXRWaWV3cG9ydFNpemUpOgorICAgICAgICAo
QmxhY2tCZXJyeTo6V2ViS2l0OjpXZWJQYWdlUHJpdmF0ZTo6c2V0Q29tcG9zaXRvcik6CisgICAg
ICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6OldlYlBhZ2VQcml2YXRlOjpleGl0RnVsbFNjcmVlbkZv
ckVsZW1lbnQpOgorICAgICAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpXZWJQYWdlUHJpdmF0ZTo6
cmVzdG9yZUhpc3RvcnlWaWV3U3RhdGUpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0ZyYW1l
TG9hZGVyQ2xpZW50QmxhY2tCZXJyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRl
ckNsaWVudEJsYWNrQmVycnk6OnRyYW5zaXRpb25Ub0NvbW1pdHRlZEZvck5ld1BhZ2UpOgorICAg
ICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnRCbGFja0JlcnJ5OjpyZXN0b3JlVmlld1N0
YXRlKToKKyAgICAgICAgKiBXZWJLaXRTdXBwb3J0L0lucHV0SGFuZGxlci5jcHA6CisgICAgICAg
IChCbGFja0JlcnJ5OjpXZWJLaXQ6OklucHV0SGFuZGxlcjo6c2V0QmF0Y2hFZGl0aW5nQWN0aXZl
KToKKwogMjAxMi0xMS0wMiAgT3R0byBEZXJlayBDaGV1bmcgIDxvdGNoZXVuZ0ByaW0uY29tPgog
CiAgICAgICAgIFtCbGFja0JlcnJ5XSBBZGRpbmcgd2luZG93LmV4dGVybmFsIHRvIG91ciBwb3J0
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvRnJh
bWVMb2FkZXJDbGllbnRCbGFja0JlcnJ5LmNwcCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9X
ZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEJsYWNrQmVycnkuY3BwCmluZGV4IDhjMDI3
NGQuLjM4MmIxNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3Jl
U3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEJsYWNrQmVycnkuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEJsYWNrQmVycnku
Y3BwCkBAIC00MzcsOCArNDM3LDExIEBAIHZvaWQgRnJhbWVMb2FkZXJDbGllbnRCbGFja0JlcnJ5
Ojp0cmFuc2l0aW9uVG9Db21taXR0ZWRGb3JOZXdQYWdlKCkKICAgICAvLyBpbiB0aGUgYmFja2lu
ZyBzdG9yZSBmcm9tIGFub3RoZXIgdGhyZWFkIChzZWUgQmFja2luZ1N0b3JlUHJpdmF0ZTo6Ymxp
dFZpc2libGVDb250ZW50cyBtZXRob2QpLAogICAgIC8vIHNvIHdlIHN1c3BlbmQgYW5kIHJlc3Vt
ZSBzY3JlZW4gdXBkYXRlIHRvIG1ha2Ugc3VyZSB3ZSBkbyBub3QgZ2V0IGEgaW52YWxpZCBGcmFt
ZVZpZXcKICAgICAvLyBzdGF0ZS4KLSAgICBpZiAoaXNNYWluRnJhbWUoKSAmJiBtX3dlYlBhZ2VQ
cml2YXRlLT5iYWNraW5nU3RvcmVDbGllbnQoKSkKLSAgICAgICAgbV93ZWJQYWdlUHJpdmF0ZS0+
YmFja2luZ1N0b3JlQ2xpZW50KCktPmJhY2tpbmdTdG9yZSgpLT5kLT5zdXNwZW5kU2NyZWVuQW5k
QmFja2luZ1N0b3JlVXBkYXRlcygpOworICAgIGlmIChpc01haW5GcmFtZSgpICYmIG1fd2ViUGFn
ZVByaXZhdGUtPmJhY2tpbmdTdG9yZUNsaWVudCgpKSB7CisgICAgICAgIC8vIEZJWE1FOiBEbyB3
ZSByZWFsbHkgbmVlZCB0byBzdXNwZW5kL3Jlc3VtZSBib3RoIGJhY2tpbmdzdG9yZSBhbmQgc2Ny
ZWVuIGhlcmU/CisgICAgICAgIG1fd2ViUGFnZVByaXZhdGUtPmJhY2tpbmdTdG9yZUNsaWVudCgp
LT5iYWNraW5nU3RvcmUoKS0+ZC0+c3VzcGVuZEJhY2tpbmdTdG9yZVVwZGF0ZXMoKTsKKyAgICAg
ICAgbV93ZWJQYWdlUHJpdmF0ZS0+YmFja2luZ1N0b3JlQ2xpZW50KCktPmJhY2tpbmdTdG9yZSgp
LT5kLT5zdXNwZW5kU2NyZWVuVXBkYXRlcygpOworICAgIH0KIAogICAgIC8vIFdlIGFyZSBuYXZp
Z2F0aW5nIGF3YXkgZnJvbSB0aGlzIGRvY3VtZW50LCBzbyBjbGVhbiB1cCBhbnkgZm9vdHByaW50
IHdlIG1pZ2h0IGhhdmUuCiAgICAgaWYgKG1fZnJhbWUtPmRvY3VtZW50KCkpCkBAIC00NTcsOCAr
NDYwLDExIEBAIHZvaWQgRnJhbWVMb2FkZXJDbGllbnRCbGFja0JlcnJ5Ojp0cmFuc2l0aW9uVG9D
b21taXR0ZWRGb3JOZXdQYWdlKCkKICAgICAgICAgICAgICAgICAgICAgICAgIFNjcm9sbGJhckFs
d2F5c09mZiwgICAgICAgICAgICAgICAgICAgIC8qIHZlciBtb2RlICovCiAgICAgICAgICAgICAg
ICAgICAgICAgICB0cnVlKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBsb2Nr
IHRoZSBtb2RlICovCiAKLSAgICBpZiAoaXNNYWluRnJhbWUoKSAmJiBtX3dlYlBhZ2VQcml2YXRl
LT5iYWNraW5nU3RvcmVDbGllbnQoKSkKLSAgICAgICAgbV93ZWJQYWdlUHJpdmF0ZS0+YmFja2lu
Z1N0b3JlQ2xpZW50KCktPmJhY2tpbmdTdG9yZSgpLT5kLT5yZXN1bWVTY3JlZW5BbmRCYWNraW5n
U3RvcmVVcGRhdGVzKEJhY2tpbmdTdG9yZTo6Tm9uZSk7CisgICAgaWYgKGlzTWFpbkZyYW1lKCkg
JiYgbV93ZWJQYWdlUHJpdmF0ZS0+YmFja2luZ1N0b3JlQ2xpZW50KCkpIHsKKyAgICAgICAgLy8g
RklYTUU6IERvIHdlIHJlYWxseSBuZWVkIHRvIHN1c3BlbmQvcmVzdW1lIGJvdGggYmFja2luZ3N0
b3JlIGFuZCBzY3JlZW4gaGVyZT8KKyAgICAgICAgbV93ZWJQYWdlUHJpdmF0ZS0+YmFja2luZ1N0
b3JlQ2xpZW50KCktPmJhY2tpbmdTdG9yZSgpLT5kLT5yZXN1bWVCYWNraW5nU3RvcmVVcGRhdGVz
KCk7CisgICAgICAgIG1fd2ViUGFnZVByaXZhdGUtPmJhY2tpbmdTdG9yZUNsaWVudCgpLT5iYWNr
aW5nU3RvcmUoKS0+ZC0+cmVzdW1lU2NyZWVuVXBkYXRlcyhCYWNraW5nU3RvcmU6Ok5vbmUpOwor
ICAgIH0KIAogICAgIG1fZnJhbWUtPnZpZXcoKS0+dXBkYXRlQ2FuSGF2ZVNjcm9sbGJhcnMoKTsK
IApAQCAtMTExMCw3ICsxMTE2LDkgQEAgdm9pZCBGcmFtZUxvYWRlckNsaWVudEJsYWNrQmVycnk6
OnJlc3RvcmVWaWV3U3RhdGUoKQogCiAgICAgLy8gRG9uJ3QgZmxhc2ggY2hlY2tlcmJvYXJkIGJl
Zm9yZSBXZWJQYWdlUHJpdmF0ZTo6cmVzdG9yZUhpc3RvcnlWaWV3U3RhdGUoKSBmaW5pc2hlZC4K
ICAgICAvLyBUaGlzIGNhbGwgd2lsbCBiZSBiYWxhbmNlZCBieSBCYWNraW5nU3RvcmVQcml2YXRl
OjpyZXN1bWVTY3JlZW5BbmRCYWNraW5nU3RvcmVVcGRhdGVzKCkgaW4gV2ViUGFnZVByaXZhdGU6
OnJlc3RvcmVIaXN0b3J5Vmlld1N0YXRlKCkuCi0gICAgbV93ZWJQYWdlUHJpdmF0ZS0+bV9iYWNr
aW5nU3RvcmUtPmQtPnN1c3BlbmRTY3JlZW5BbmRCYWNraW5nU3RvcmVVcGRhdGVzKCk7CisgICAg
Ly8gRklYTUU6IERvIHdlIHJlYWxseSBuZWVkIHRvIHN1c3BlbmQvcmVzdW1lIGJvdGggYmFja2lu
Z3N0b3JlIGFuZCBzY3JlZW4gaGVyZT8KKyAgICBtX3dlYlBhZ2VQcml2YXRlLT5tX2JhY2tpbmdT
dG9yZS0+ZC0+c3VzcGVuZEJhY2tpbmdTdG9yZVVwZGF0ZXMoKTsKKyAgICBtX3dlYlBhZ2VQcml2
YXRlLT5tX2JhY2tpbmdTdG9yZS0+ZC0+c3VzcGVuZFNjcmVlblVwZGF0ZXMoKTsKIAogICAgIC8v
IEl0IGlzIG5vdCBzYWZlIHRvIHJlbmRlciB0aGUgcGFnZSBhdCB0aGlzIHBvaW50LiBTbyB3ZSBw
b3N0IGEgbWVzc2FnZSBpbnN0ZWFkLiBNZXNzYWdlcyBoYXZlIGhpZ2hlciBwcmlvcml0eSB0aGFu
IHRpbWVycy4KICAgICBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6d2ViS2l0VGhyZWFkTWVzc2FnZUNs
aWVudCgpLT5kaXNwYXRjaE1lc3NhZ2UoQmxhY2tCZXJyeTo6UGxhdGZvcm06OmNyZWF0ZU1ldGhv
ZENhbGxNZXNzYWdlKApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktp
dFN1cHBvcnQvSW5wdXRIYW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJL
aXRTdXBwb3J0L0lucHV0SGFuZGxlci5jcHAKaW5kZXggMTVmNDM5ZC4uZTFlOTczNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvSW5wdXRIYW5kbGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViS2l0U3VwcG9ydC9JbnB1dEhh
bmRsZXIuY3BwCkBAIC0xODY2LDEwICsxODY2LDE0IEBAIGJvb2wgSW5wdXRIYW5kbGVyOjpzZXRC
YXRjaEVkaXRpbmdBY3RpdmUoYm9vbCBhY3RpdmUpCiAgICAgQVNTRVJUKGJhY2tpbmdTdG9yZUNs
aWVudCk7CiAKICAgICAvLyBFbmFibGUgLyBEaXNhYmxlIHRoZSBiYWNraW5nc3RvcmUgdG8gcHJl
dmVudCB2aXN1YWwgdXBkYXRlcy4KLSAgICBpZiAoIWFjdGl2ZSkKLSAgICAgICAgYmFja2luZ1N0
b3JlQ2xpZW50LT5iYWNraW5nU3RvcmUoKS0+cmVzdW1lU2NyZWVuQW5kQmFja2luZ1N0b3JlVXBk
YXRlcyhCYWNraW5nU3RvcmU6OlJlbmRlckFuZEJsaXQpOwotICAgIGVsc2UKLSAgICAgICAgYmFj
a2luZ1N0b3JlQ2xpZW50LT5iYWNraW5nU3RvcmUoKS0+c3VzcGVuZFNjcmVlbkFuZEJhY2tpbmdT
dG9yZVVwZGF0ZXMoKTsKKyAgICAvLyBGSVhNRTogRG8gd2UgcmVhbGx5IG5lZWQgdG8gc3VzcGVu
ZC9yZXN1bWUgYm90aCBiYWNraW5nc3RvcmUgYW5kIHNjcmVlbiBoZXJlPworICAgIGlmICghYWN0
aXZlKSB7CisgICAgICAgIGJhY2tpbmdTdG9yZUNsaWVudC0+YmFja2luZ1N0b3JlKCktPnJlc3Vt
ZUJhY2tpbmdTdG9yZVVwZGF0ZXMoKTsKKyAgICAgICAgYmFja2luZ1N0b3JlQ2xpZW50LT5iYWNr
aW5nU3RvcmUoKS0+cmVzdW1lU2NyZWVuVXBkYXRlcyhCYWNraW5nU3RvcmU6OlJlbmRlckFuZEJs
aXQpOworICAgIH0gZWxzZSB7CisgICAgICAgIGJhY2tpbmdTdG9yZUNsaWVudC0+YmFja2luZ1N0
b3JlKCktPnN1c3BlbmRCYWNraW5nU3RvcmVVcGRhdGVzKCk7CisgICAgICAgIGJhY2tpbmdTdG9y
ZUNsaWVudC0+YmFja2luZ1N0b3JlKCktPnN1c3BlbmRTY3JlZW5VcGRhdGVzKCk7CisgICAgfQog
CiAgICAgcmV0dXJuIHRydWU7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174192</attachid>
            <date>2012-11-14 10:18:06 -0800</date>
            <delta_ts>2012-11-14 11:03:44 -0800</delta_ts>
            <desc>WebKit portion of PR 219976 v3</desc>
            <filename>webkit_219976v6.patch</filename>
            <type>text/plain</type>
            <size>28184</size>
            <attacher name="Adam Treat">manyoso</attacher>
            
              <data encoding="base64">Y29tbWl0IDdhNmRlZDY0OThjMzIwNWU1MjAwODQ1YzY0OGFhYmY4ZjZlN2ZhMTEKQXV0aG9yOiBB
ZGFtIFRyZWF0IDxhdHJlYXRAcmltLmNvbT4KRGF0ZTogICBUdWUgTm92IDEzIDE2OjEyOjM1IDIw
MTIgLTA1MDAKCiAgICBbQmxhY2tCZXJyeV0gQnJlYWsgc3VzcGVuZC9yZXN1bWUgb2YgdGhlIGJh
Y2tpbmdzdG9yZSBhbmQgc2NyZWVuIGludG8gc2VwYXJhdGUgbWV0aG9kcwogICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjEyNgogICAgCiAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KICAgIFBSIDIxOTk3NgogICAgCiAgICBNb2RpZnkgdGhlIHN1c3Bl
bmQvcmVzdW1lIG1ldGhvZHMgc28gdGhhdCB0aGV5IGNhbiBiZSBjYWxsZWQgZnJvbSB0aGUgVUkg
dGhyZWFkCiAgICBpdHNlbGYgYW5kIHNwbGl0IHVwIHRoZSBzdXNwZW5kL3Jlc3VtZSBtZXRob2Rz
IHNvIHRoYXQgd2UgY2FuIHN1c3BlbmQvcmVzdW1lCiAgICB0aGUgc2NyZWVuIG9yIGJhY2tpbmdz
dG9yZSBzZXBhcmF0ZWx5LgogICAgCiAgICAqIEFwaS9CYWNraW5nU3RvcmUuY3BwOgogICAgKEJs
YWNrQmVycnk6OldlYktpdDo6QmFja2luZ1N0b3JlUHJpdmF0ZTo6c3VzcGVuZEJhY2tpbmdTdG9y
ZVVwZGF0ZXMpOgogICAgKFdlYktpdCk6CiAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpCYWNraW5n
U3RvcmVQcml2YXRlOjpzdXNwZW5kU2NyZWVuVXBkYXRlcyk6CiAgICAoQmxhY2tCZXJyeTo6V2Vi
S2l0OjpCYWNraW5nU3RvcmVQcml2YXRlOjpyZXN1bWVCYWNraW5nU3RvcmVVcGRhdGVzKToKICAg
IChCbGFja0JlcnJ5OjpXZWJLaXQ6OkJhY2tpbmdTdG9yZVByaXZhdGU6OnJlc3VtZVNjcmVlblVw
ZGF0ZXMpOgogICAgKEJsYWNrQmVycnk6OldlYktpdDo6QmFja2luZ1N0b3JlUHJpdmF0ZTo6Ymxp
dFZpc2libGVDb250ZW50cyk6CiAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpCYWNraW5nU3RvcmVQ
cml2YXRlOjpjcmVhdGVTdXJmYWNlcyk6CiAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpCYWNraW5n
U3RvcmU6OnN1c3BlbmRCYWNraW5nU3RvcmVVcGRhdGVzKToKICAgIChCbGFja0JlcnJ5OjpXZWJL
aXQ6OkJhY2tpbmdTdG9yZTo6cmVzdW1lQmFja2luZ1N0b3JlVXBkYXRlcyk6CiAgICAoQmxhY2tC
ZXJyeTo6V2ViS2l0OjpCYWNraW5nU3RvcmU6OnN1c3BlbmRTY3JlZW5VcGRhdGVzKToKICAgIChC
bGFja0JlcnJ5OjpXZWJLaXQ6OkJhY2tpbmdTdG9yZTo6cmVzdW1lU2NyZWVuVXBkYXRlcyk6CiAg
ICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpCYWNraW5nU3RvcmU6OmNyZWF0ZUJhY2tpbmdTdG9yZU1l
bW9yeSk6CiAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpCYWNraW5nU3RvcmU6OnJlbGVhc2VCYWNr
aW5nU3RvcmVNZW1vcnkpOgogICAgKiBBcGkvQmFja2luZ1N0b3JlLmg6CiAgICAqIEFwaS9CYWNr
aW5nU3RvcmVfcC5oOgogICAgKEJhY2tpbmdTdG9yZVByaXZhdGUpOgogICAgKiBBcGkvV2ViUGFn
ZS5jcHA6CiAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpXZWJQYWdlUHJpdmF0ZTo6c2V0TG9hZFN0
YXRlKToKICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6OldlYlBhZ2VQcml2YXRlOjp6b29tQWJvdXRQ
b2ludCk6CiAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpXZWJQYWdlUHJpdmF0ZTo6em9vbUJsb2Nr
KToKICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6OldlYlBhZ2U6OmRlc3Ryb3kpOgogICAgKEJsYWNr
QmVycnk6OldlYktpdDo6V2ViUGFnZVByaXZhdGU6OnNldFZpZXdwb3J0U2l6ZSk6CiAgICAoQmxh
Y2tCZXJyeTo6V2ViS2l0OjpXZWJQYWdlUHJpdmF0ZTo6c2V0Q29tcG9zaXRvcik6CiAgICAoQmxh
Y2tCZXJyeTo6V2ViS2l0OjpXZWJQYWdlUHJpdmF0ZTo6ZXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50
KToKICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6OldlYlBhZ2VQcml2YXRlOjpyZXN0b3JlSGlzdG9y
eVZpZXdTdGF0ZSk6CiAgICAqIFdlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50QmxhY2tC
ZXJyeS5jcHA6CiAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnRCbGFja0JlcnJ5Ojp0cmFu
c2l0aW9uVG9Db21taXR0ZWRGb3JOZXdQYWdlKToKICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlckNs
aWVudEJsYWNrQmVycnk6OnJlc3RvcmVWaWV3U3RhdGUpOgogICAgKiBXZWJLaXRTdXBwb3J0L0lu
cHV0SGFuZGxlci5jcHA6CiAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpJbnB1dEhhbmRsZXI6OnNl
dEJhdGNoRWRpdGluZ0FjdGl2ZSk6CiAgICAKICAgIENvbmZsaWN0czoKICAgIAogICAgCVNvdXJj
ZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZS5jcHAKICAgIAlTb3VyY2UvV2ViS2l0L2Js
YWNrYmVycnkvQ2hhbmdlTG9nCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5
L0FwaS9CYWNraW5nU3RvcmUuY3BwIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9CYWNr
aW5nU3RvcmUuY3BwCmluZGV4IDBmMDc4ZjUuLjg0MmM5N2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvYmxhY2tiZXJyeS9BcGkvQmFja2luZ1N0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L2JsYWNrYmVycnkvQXBpL0JhY2tpbmdTdG9yZS5jcHAKQEAgLTI3OSwxNCArMjc5LDIyIEBAIGJv
b2wgQmFja2luZ1N0b3JlUHJpdmF0ZTo6aXNPcGVuR0xDb21wb3NpdGluZygpIGNvbnN0CiAgICAg
cmV0dXJuIHRydWU7CiB9CiAKLXZvaWQgQmFja2luZ1N0b3JlUHJpdmF0ZTo6c3VzcGVuZFNjcmVl
bkFuZEJhY2tpbmdTdG9yZVVwZGF0ZXMoKQordm9pZCBCYWNraW5nU3RvcmVQcml2YXRlOjpzdXNw
ZW5kQmFja2luZ1N0b3JlVXBkYXRlcygpCiB7Ci0gICAgaWYgKG1fc3VzcGVuZFNjcmVlblVwZGF0
ZXMpIHsKKyAgICBpZiAoYXRvbWljX2FkZF92YWx1ZSgmbV9zdXNwZW5kQmFja2luZ1N0b3JlVXBk
YXRlcywgMCkpIHsKICAgICAgICAgQkJMT0coQmxhY2tCZXJyeTo6UGxhdGZvcm06OkxvZ0xldmVs
SW5mbywKLSAgICAgICAgICAgICJTY3JlZW4gYW5kIGJhY2tpbmdzdG9yZSBhbHJlYWR5IHN1c3Bl
bmRlZCwgaW5jcmVhc2luZyBzdXNwZW5kIGNvdW50ZXIuIik7CisgICAgICAgICAgICAiQmFja2lu
Z3N0b3JlIGFscmVhZHkgc3VzcGVuZGVkLCBpbmNyZWFzaW5nIHN1c3BlbmQgY291bnRlci4iKTsK
ICAgICB9CiAKLSAgICArK21fc3VzcGVuZEJhY2tpbmdTdG9yZVVwZGF0ZXM7CisgICAgYXRvbWlj
X2FkZCgmbV9zdXNwZW5kQmFja2luZ1N0b3JlVXBkYXRlcywgMSk7Cit9CisKK3ZvaWQgQmFja2lu
Z1N0b3JlUHJpdmF0ZTo6c3VzcGVuZFNjcmVlblVwZGF0ZXMoKQoreworICAgIGlmIChtX3N1c3Bl
bmRTY3JlZW5VcGRhdGVzKSB7CisgICAgICAgIEJCTE9HKEJsYWNrQmVycnk6OlBsYXRmb3JtOjpM
b2dMZXZlbEluZm8sCisgICAgICAgICAgICAiU2NyZWVuIGFscmVhZHkgc3VzcGVuZGVkLCBpbmNy
ZWFzaW5nIHN1c3BlbmQgY291bnRlci4iKTsKKyAgICB9CiAKICAgICAvLyBNYWtlIHN1cmUgdGhl
IHVzZXIgaW50ZXJmYWNlIHRocmVhZCBnZXRzIHRoZSBtZXNzYWdlIGJlZm9yZSB3ZSBwcm9jZWVk
CiAgICAgLy8gYmVjYXVzZSBibGl0VmlzaWJsZUNvbnRlbnRzKCkgY2FuIGJlIGNhbGxlZCBmcm9t
IHRoZSB1c2VyIGludGVyZmFjZQpAQCAtMjk2LDE3ICszMDQsMjcgQEAgdm9pZCBCYWNraW5nU3Rv
cmVQcml2YXRlOjpzdXNwZW5kU2NyZWVuQW5kQmFja2luZ1N0b3JlVXBkYXRlcygpCiAgICAgQmxh
Y2tCZXJyeTo6UGxhdGZvcm06OnVzZXJJbnRlcmZhY2VUaHJlYWRNZXNzYWdlQ2xpZW50KCktPnN5
bmNUb0N1cnJlbnRNZXNzYWdlKCk7CiB9CiAKLXZvaWQgQmFja2luZ1N0b3JlUHJpdmF0ZTo6cmVz
dW1lU2NyZWVuQW5kQmFja2luZ1N0b3JlVXBkYXRlcyhCYWNraW5nU3RvcmU6OlJlc3VtZVVwZGF0
ZU9wZXJhdGlvbiBvcCkKK3ZvaWQgQmFja2luZ1N0b3JlUHJpdmF0ZTo6cmVzdW1lQmFja2luZ1N0
b3JlVXBkYXRlcygpCiB7Ci0gICAgQVNTRVJUKG1fc3VzcGVuZFNjcmVlblVwZGF0ZXMpOwotICAg
IEFTU0VSVChtX3N1c3BlbmRCYWNraW5nU3RvcmVVcGRhdGVzKTsKKyAgICBib29sIGlzU3VzcGVu
ZGVkID0gYXRvbWljX2FkZF92YWx1ZSgmbV9zdXNwZW5kQmFja2luZ1N0b3JlVXBkYXRlcywgMCkg
Pj0gMTsKKyAgICBBU1NFUlQoaXNTdXNwZW5kZWQpOworICAgIGlmICghaXNTdXNwZW5kZWQpIHsK
KyAgICAgICAgQmxhY2tCZXJyeTo6UGxhdGZvcm06OmxvZ0Fsd2F5cyhCbGFja0JlcnJ5OjpQbGF0
Zm9ybTo6TG9nTGV2ZWxDcml0aWNhbCwKKyAgICAgICAgICAgICJDYWxsIG1pc21hdGNoOiBCYWNr
aW5nc3RvcmUgaGFzbid0IGJlZW4gc3VzcGVuZGVkLCB0aGVyZWZvcmUgd29uJ3QgcmVzdW1lISIp
OworICAgICAgICByZXR1cm47CisgICAgfQogCi0gICAgLy8gQm90aCB2YXJpYWJsZXMgYXJlIHNp
bWlsYXIgZXhjZXB0IGZvciB0aGUgdGltaW5nIG9mIHNldHRpbmcgdGhlbS4KLSAgICBBU1NFUlQo
bV9zdXNwZW5kU2NyZWVuVXBkYXRlcyA9PSBtX3N1c3BlbmRCYWNraW5nU3RvcmVVcGRhdGVzKTsK
KyAgICBhdG9taWNfc3ViKCZtX3N1c3BlbmRCYWNraW5nU3RvcmVVcGRhdGVzLCAxKTsKK30KKwor
Cit2b2lkIEJhY2tpbmdTdG9yZVByaXZhdGU6OnJlc3VtZVNjcmVlblVwZGF0ZXMoQmFja2luZ1N0
b3JlOjpSZXN1bWVVcGRhdGVPcGVyYXRpb24gb3ApCit7CisgICAgQVNTRVJUKG1fc3VzcGVuZFNj
cmVlblVwZGF0ZXMpOwogCi0gICAgaWYgKCFtX3N1c3BlbmRTY3JlZW5VcGRhdGVzIHx8ICFtX3N1
c3BlbmRCYWNraW5nU3RvcmVVcGRhdGVzKSB7CisgICAgaWYgKCFtX3N1c3BlbmRTY3JlZW5VcGRh
dGVzKSB7CiAgICAgICAgIEJsYWNrQmVycnk6OlBsYXRmb3JtOjpsb2dBbHdheXMoQmxhY2tCZXJy
eTo6UGxhdGZvcm06OkxvZ0xldmVsQ3JpdGljYWwsCi0gICAgICAgICAgICAiQ2FsbCBtaXNtYXRj
aDogU2NyZWVuIGFuZCBiYWNraW5nc3RvcmUgaGF2ZW4ndCBiZWVuIHN1c3BlbmRlZCwgdGhlcmVm
b3JlIHdvbid0IHJlc3VtZSEiKTsKKyAgICAgICAgICAgICJDYWxsIG1pc21hdGNoOiBTY3JlZW4g
aGFzbid0IGJlZW4gc3VzcGVuZGVkLCB0aGVyZWZvcmUgd29uJ3QgcmVzdW1lISIpOwogICAgICAg
ICByZXR1cm47CiAgICAgfQogCkBAIC0zMTUsMTYgKzMzMywxMyBAQCB2b2lkIEJhY2tpbmdTdG9y
ZVByaXZhdGU6OnJlc3VtZVNjcmVlbkFuZEJhY2tpbmdTdG9yZVVwZGF0ZXMoQmFja2luZ1N0b3Jl
OjpSZXN1bQogICAgICAgICB8fCAobV9yZXN1bWVPcGVyYXRpb24gPT0gQmFja2luZ1N0b3JlOjpO
b25lICYmIG9wID09IEJhY2tpbmdTdG9yZTo6QmxpdCkpCiAgICAgICAgIG1fcmVzdW1lT3BlcmF0
aW9uID0gb3A7CiAKLSAgICBpZiAobV9zdXNwZW5kU2NyZWVuVXBkYXRlcyA+PSAyICYmIG1fc3Vz
cGVuZEJhY2tpbmdTdG9yZVVwZGF0ZXMgPj0gMikgeyAvLyB3ZSdyZSBzdGlsbCBzdXNwZW5kZWQK
KyAgICBpZiAobV9zdXNwZW5kU2NyZWVuVXBkYXRlcyA+PSAyKSB7IC8vIHdlJ3JlIHN0aWxsIHN1
c3BlbmRlZAogICAgICAgICBCQkxPRyhCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6TG9nTGV2ZWxJbmZv
LAogICAgICAgICAgICAgIlNjcmVlbiBhbmQgYmFja2luZ3N0b3JlIHN0aWxsIHN1c3BlbmRlZCwg
ZGVjcmVhc2luZyBzdXNwZW5kIGNvdW50ZXIuIik7Ci0gICAgICAgIC0tbV9zdXNwZW5kQmFja2lu
Z1N0b3JlVXBkYXRlczsKICAgICAgICAgLS1tX3N1c3BlbmRTY3JlZW5VcGRhdGVzOwogICAgICAg
ICByZXR1cm47CiAgICAgfQogCi0gICAgLS1tX3N1c3BlbmRCYWNraW5nU3RvcmVVcGRhdGVzOwot
CiAgICAgb3AgPSBtX3Jlc3VtZU9wZXJhdGlvbjsKICAgICBtX3Jlc3VtZU9wZXJhdGlvbiA9IEJh
Y2tpbmdTdG9yZTo6Tm9uZTsKIApAQCAtMTI5MCw2ICsxMzA1LDEwIEBAIHZvaWQgQmFja2luZ1N0
b3JlUHJpdmF0ZTo6YmxpdFZpc2libGVDb250ZW50cyhib29sIGZvcmNlKQogICAgICAgICB2aWV3
cG9ydEFjY2Vzc29yLT5zY2FsZSgpKTsKICNlbmRpZgogCisjaWYgREVCVUdfQ0hFQ0tFUkJPQVJE
CisgICAgYm9vbCBibGl0Q2hlY2tlcmVkID0gZmFsc2U7CisjZW5kaWYKKwogICAgIFZlY3RvcjxU
aWxlQnVmZmVyKj4gYmxpdHRlZFRpbGVzOwogCiAgICAgaWYgKGlzQWN0aXZlKCkgJiYgIW1fd2Vi
UGFnZS0+ZC0+Y29tcG9zaXRvckRyYXdzUm9vdExheWVyKCkpIHsKQEAgLTEzMTYsMTAgKzEzMzUs
NiBAQCB2b2lkIEJhY2tpbmdTdG9yZVByaXZhdGU6OmJsaXRWaXNpYmxlQ29udGVudHMoYm9vbCBm
b3JjZSkKICAgICAgICAgaWYgKCF0cmFuc2Zvcm1lZFNyY1JlY3QuaXNFbXB0eSgpKQogICAgICAg
ICAgICAgdHJhbnNmb3JtYXRpb24gPSBUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6cmVjdFRvUmVjdChG
bG9hdFJlY3QoRmxvYXRQb2ludCgwLjAsIDAuMCksIFdlYkNvcmU6OkludFNpemUodHJhbnNmb3Jt
ZWRTcmNSZWN0LnNpemUoKSkpLCBXZWJDb3JlOjpJbnRSZWN0KGRzdFJlY3QpKTsKIAotI2lmIERF
QlVHX0NIRUNLRVJCT0FSRAotICAgICAgICBib29sIGJsaXRDaGVja2VyZWQgPSBmYWxzZTsKLSNl
bmRpZgotCiAgICAgICAgIC8vIERvbid0IGNsaXAgdG8gY29udGVudHMgaWYgaXQgaXMgZW1wdHkg
c28gd2UgY2FuIHN0aWxsIHBhaW50IGRlZmF1bHQgYmFja2dyb3VuZC4KICAgICAgICAgaWYgKCF0
cmFuc2Zvcm1lZENvbnRlbnRzUmVjdC5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgIGNsaXBwZWRU
cmFuc2Zvcm1lZFNyY1JlY3QuaW50ZXJzZWN0KHRyYW5zZm9ybWVkQ29udGVudHNSZWN0KTsKQEAg
LTIwODgsOCArMjEwMywxMSBAQCB2b2lkIEJhY2tpbmdTdG9yZVByaXZhdGU6OmNyZWF0ZVN1cmZh
Y2VzKCkKICAgICBjcmVhdGVWaXNpYmxlVGlsZUJ1ZmZlckZvcldlYlBhZ2UobV93ZWJQYWdlLT5k
KTsKIAogICAgIC8vIERvbid0IHRyeSB0byBibGl0IHRvIHNjcmVlbiB1bmxlc3Mgd2UgaGF2ZSBh
IGJ1ZmZlci4KLSAgICBpZiAoIWJ1ZmZlcigpKQotICAgICAgICBzdXNwZW5kU2NyZWVuQW5kQmFj
a2luZ1N0b3JlVXBkYXRlcygpOworICAgIGlmICghYnVmZmVyKCkpIHsKKyAgICAgICAgLy8gRklY
TUU6IERvIHdlIHJlYWxseSBuZWVkIHRvIHN1c3BlbmQvcmVzdW1lIGJvdGggYmFja2luZ3N0b3Jl
IGFuZCBzY3JlZW4gaGVyZT8KKyAgICAgICAgc3VzcGVuZEJhY2tpbmdTdG9yZVVwZGF0ZXMoKTsK
KyAgICAgICAgc3VzcGVuZFNjcmVlblVwZGF0ZXMoKTsKKyAgICB9CiB9CiAKIHZvaWQgQmFja2lu
Z1N0b3JlUHJpdmF0ZTo6Y3JlYXRlVmlzaWJsZVRpbGVCdWZmZXIoKQpAQCAtMjYzMiwxNCArMjY1
MCwyNCBAQCB2b2lkIEJhY2tpbmdTdG9yZTo6Y3JlYXRlU3VyZmFjZSgpCiAgICAgZC0+bV93ZWJQ
YWdlLT5zZXRGb2N1c2VkKHRydWUpOwogfQogCi12b2lkIEJhY2tpbmdTdG9yZTo6c3VzcGVuZFNj
cmVlbkFuZEJhY2tpbmdTdG9yZVVwZGF0ZXMoKQordm9pZCBCYWNraW5nU3RvcmU6OnN1c3BlbmRC
YWNraW5nU3RvcmVVcGRhdGVzKCkKK3sKKyAgICBkLT5zdXNwZW5kQmFja2luZ1N0b3JlVXBkYXRl
cygpOworfQorCit2b2lkIEJhY2tpbmdTdG9yZTo6cmVzdW1lQmFja2luZ1N0b3JlVXBkYXRlcygp
Cit7CisgICAgZC0+cmVzdW1lQmFja2luZ1N0b3JlVXBkYXRlcygpOworfQorCit2b2lkIEJhY2tp
bmdTdG9yZTo6c3VzcGVuZFNjcmVlblVwZGF0ZXMoKQogewotICAgIGQtPnN1c3BlbmRTY3JlZW5B
bmRCYWNraW5nU3RvcmVVcGRhdGVzKCk7CisgICAgZC0+c3VzcGVuZFNjcmVlblVwZGF0ZXMoKTsK
IH0KIAotdm9pZCBCYWNraW5nU3RvcmU6OnJlc3VtZVNjcmVlbkFuZEJhY2tpbmdTdG9yZVVwZGF0
ZXMoUmVzdW1lVXBkYXRlT3BlcmF0aW9uIG9wKQordm9pZCBCYWNraW5nU3RvcmU6OnJlc3VtZVNj
cmVlblVwZGF0ZXMoUmVzdW1lVXBkYXRlT3BlcmF0aW9uIG9wKQogewotICAgIGQtPnJlc3VtZVNj
cmVlbkFuZEJhY2tpbmdTdG9yZVVwZGF0ZXMob3ApOworICAgIGQtPnJlc3VtZVNjcmVlblVwZGF0
ZXMob3ApOwogfQogCiBib29sIEJhY2tpbmdTdG9yZTo6aXNTY3JvbGxpbmdPclpvb21pbmcoKSBj
b25zdApAQCAtMjY3MywxMCArMjcwMSwxMiBAQCB2b2lkIEJhY2tpbmdTdG9yZTo6Y3JlYXRlQmFj
a2luZ1N0b3JlTWVtb3J5KCkKIHsKICAgICBpZiAoQmFja2luZ1N0b3JlUHJpdmF0ZTo6c19jdXJy
ZW50QmFja2luZ1N0b3JlT3duZXIgPT0gZC0+bV93ZWJQYWdlKQogICAgICAgICBTdXJmYWNlUG9v
bDo6Z2xvYmFsU3VyZmFjZVBvb2woKS0+Y3JlYXRlQnVmZmVycygpOworICAgIHJlc3VtZUJhY2tp
bmdTdG9yZVVwZGF0ZXMoKTsKIH0KIAogdm9pZCBCYWNraW5nU3RvcmU6OnJlbGVhc2VCYWNraW5n
U3RvcmVNZW1vcnkoKQogeworICAgIHN1c3BlbmRCYWNraW5nU3RvcmVVcGRhdGVzKCk7CiAgICAg
aWYgKEJhY2tpbmdTdG9yZVByaXZhdGU6OnNfY3VycmVudEJhY2tpbmdTdG9yZU93bmVyID09IGQt
Pm1fd2ViUGFnZSkKICAgICAgICAgU3VyZmFjZVBvb2w6Omdsb2JhbFN1cmZhY2VQb29sKCktPnJl
bGVhc2VCdWZmZXJzKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkv
QXBpL0JhY2tpbmdTdG9yZS5oIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9CYWNraW5n
U3RvcmUuaAppbmRleCAyNTAxYzk4Li5hNWY5OWI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2JsYWNrYmVycnkvQXBpL0JhY2tpbmdTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2ti
ZXJyeS9BcGkvQmFja2luZ1N0b3JlLmgKQEAgLTUzLDggKzUzLDExIEBAIHB1YmxpYzoKIAogICAg
IHZvaWQgY3JlYXRlU3VyZmFjZSgpOwogCi0gICAgdm9pZCBzdXNwZW5kU2NyZWVuQW5kQmFja2lu
Z1N0b3JlVXBkYXRlcygpOwotICAgIHZvaWQgcmVzdW1lU2NyZWVuQW5kQmFja2luZ1N0b3JlVXBk
YXRlcyhSZXN1bWVVcGRhdGVPcGVyYXRpb24pOworICAgIHZvaWQgc3VzcGVuZEJhY2tpbmdTdG9y
ZVVwZGF0ZXMoKTsKKyAgICB2b2lkIHJlc3VtZUJhY2tpbmdTdG9yZVVwZGF0ZXMoKTsKKworICAg
IHZvaWQgc3VzcGVuZFNjcmVlblVwZGF0ZXMoKTsKKyAgICB2b2lkIHJlc3VtZVNjcmVlblVwZGF0
ZXMoQmFja2luZ1N0b3JlOjpSZXN1bWVVcGRhdGVPcGVyYXRpb24pOwogCiAgICAgYm9vbCBpc1Nj
cm9sbGluZ09yWm9vbWluZygpIGNvbnN0OwogICAgIHZvaWQgc2V0U2Nyb2xsaW5nT3Jab29taW5n
KGJvb2wpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9CYWNraW5n
U3RvcmVfcC5oIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9CYWNraW5nU3RvcmVfcC5o
CmluZGV4IGQyZmQ5NWMuLmI5YTZlN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2ti
ZXJyeS9BcGkvQmFja2luZ1N0b3JlX3AuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkv
QXBpL0JhY2tpbmdTdG9yZV9wLmgKQEAgLTEyNywxMSArMTI3LDE3IEBAIHB1YmxpYzoKIAogICAg
IGJvb2wgaXNTdXNwZW5kZWQoKSBjb25zdCB7IHJldHVybiBtX3N1c3BlbmRCYWNraW5nU3RvcmVV
cGRhdGVzOyB9CiAKKyAgICAvLyBTdXNwZW5kcyBhbGwgYmFja2luZ3N0b3JlIHVwZGF0ZXMgc28g
dGhhdCByZW5kZXJpbmcgdG8gdGhlIGJhY2tpbmdzdG9yZSBpcyBkaXNhYmxlZC4KKyAgICB2b2lk
IHN1c3BlbmRCYWNraW5nU3RvcmVVcGRhdGVzKCk7CisKKyAgICAvLyBSZXN1bWVzIGFsbCBiYWNr
aW5nc3RvcmUgdXBkYXRlcyBzbyB0aGF0IHJlbmRlcmluZyB0byB0aGUgYmFja2luZ3N0b3JlIGlz
IGVuYWJsZWQuCisgICAgdm9pZCByZXN1bWVCYWNraW5nU3RvcmVVcGRhdGVzKCk7CisKICAgICAv
LyBTdXNwZW5kcyBhbGwgc2NyZWVuIHVwZGF0ZXMgc28gdGhhdCAnYmxpdFZpc2libGVDb250ZW50
cycgaXMgZGlzYWJsZWQuCi0gICAgdm9pZCBzdXNwZW5kU2NyZWVuQW5kQmFja2luZ1N0b3JlVXBk
YXRlcygpOworICAgIHZvaWQgc3VzcGVuZFNjcmVlblVwZGF0ZXMoKTsKIAogICAgIC8vIFJlc3Vt
ZXMgYWxsIHNjcmVlbiB1cGRhdGVzIHNvIHRoYXQgJ2JsaXRWaXNpYmxlQ29udGVudHMnIGlzIGVu
YWJsZWQuCi0gICAgdm9pZCByZXN1bWVTY3JlZW5BbmRCYWNraW5nU3RvcmVVcGRhdGVzKEJhY2tp
bmdTdG9yZTo6UmVzdW1lVXBkYXRlT3BlcmF0aW9uKTsKKyAgICB2b2lkIHJlc3VtZVNjcmVlblVw
ZGF0ZXMoQmFja2luZ1N0b3JlOjpSZXN1bWVVcGRhdGVPcGVyYXRpb24pOwogCiAgICAgLy8gVGhl
IGZ1bmN0aW9ucyByZXBhaW50KCksIHNsb3dTY3JvbGwoKSwgc2Nyb2xsKCksIHNjcm9sbGluZ1N0
YXJ0ZWRIZWxwZXIoKSBhcmUKICAgICAvLyBjYWxsZWQgZnJvbSBvdXRzaWRlIFdlYktpdCBhbmQg
d2l0aGluIFdlYktpdCB2aWEgQ2hyb21lQ2xpZW50QmxhY2tCZXJyeS4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Js
YWNrYmVycnkvQXBpL1dlYlBhZ2UuY3BwCmluZGV4IDIzM2YyMTQuLmZkYjJmNjcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZS5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQYWdlLmNwcApAQCAtMTA2OSw3ICsxMDY5LDkgQEAg
dm9pZCBXZWJQYWdlUHJpdmF0ZTo6c2V0TG9hZFN0YXRlKExvYWRTdGF0ZSBzdGF0ZSkKICNlbmRp
ZgogCiAgICAgICAgICAgICAvLyBTdXNwZW5kIHNjcmVlbiB1cGRhdGUgdG8gYXZvaWQgdWkgdGhy
ZWFkIGJsaXR0aW5nIHdoaWxlIHJlc2V0dGluZyBiYWNraW5nc3RvcmUuCi0gICAgICAgICAgICBt
X2JhY2tpbmdTdG9yZS0+ZC0+c3VzcGVuZFNjcmVlbkFuZEJhY2tpbmdTdG9yZVVwZGF0ZXMoKTsK
KyAgICAgICAgICAgIC8vIEZJWE1FOiBEbyB3ZSByZWFsbHkgbmVlZCB0byBzdXNwZW5kL3Jlc3Vt
ZSBib3RoIGJhY2tpbmdzdG9yZSBhbmQgc2NyZWVuIGhlcmU/CisgICAgICAgICAgICBtX2JhY2tp
bmdTdG9yZS0+ZC0+c3VzcGVuZEJhY2tpbmdTdG9yZVVwZGF0ZXMoKTsKKyAgICAgICAgICAgIG1f
YmFja2luZ1N0b3JlLT5kLT5zdXNwZW5kU2NyZWVuVXBkYXRlcygpOwogCiAgICAgICAgICAgICBt
X3ByZXZpb3VzQ29udGVudHNTaXplID0gSW50U2l6ZSgpOwogICAgICAgICAgICAgbV9iYWNraW5n
U3RvcmUtPmQtPnJlc2V0UmVuZGVyUXVldWUoKTsKQEAgLTExMjUsNyArMTEyNyw5IEBAIHZvaWQg
V2ViUGFnZVByaXZhdGU6OnNldExvYWRTdGF0ZShMb2FkU3RhdGUgc3RhdGUpCiAgICAgICAgICAg
ICBzZXRTY3JvbGxQb3NpdGlvbihJbnRQb2ludDo6emVybygpKTsKICAgICAgICAgICAgIG5vdGlm
eVRyYW5zZm9ybWVkU2Nyb2xsQ2hhbmdlZCgpOwogCi0gICAgICAgICAgICBtX2JhY2tpbmdTdG9y
ZS0+ZC0+cmVzdW1lU2NyZWVuQW5kQmFja2luZ1N0b3JlVXBkYXRlcyhCYWNraW5nU3RvcmU6Ok5v
bmUpOworICAgICAgICAgICAgLy8gRklYTUU6IERvIHdlIHJlYWxseSBuZWVkIHRvIHN1c3BlbmQv
cmVzdW1lIGJvdGggYmFja2luZ3N0b3JlIGFuZCBzY3JlZW4gaGVyZT8KKyAgICAgICAgICAgIG1f
YmFja2luZ1N0b3JlLT5kLT5yZXN1bWVCYWNraW5nU3RvcmVVcGRhdGVzKCk7CisgICAgICAgICAg
ICBtX2JhY2tpbmdTdG9yZS0+ZC0+cmVzdW1lU2NyZWVuVXBkYXRlcyhCYWNraW5nU3RvcmU6Ok5v
bmUpOwogCiAgICAgICAgICAgICAvLyBQYWludHMgdGhlIHZpc2libGUgYmFja2luZ3N0b3JlIGFz
IHdoaXRlLiBOb3RlIGl0IGlzIGltcG9ydGFudCB3ZSBkbwogICAgICAgICAgICAgLy8gdGhpcyBz
dHJpY3RseSBhZnRlciByZS1zZXR0aW5nIHRoZSBzY3JvbGwgcG9zaXRpb24gdG8gb3JpZ2luIGFu
ZCByZXNldHRpbmcKQEAgLTEyMjcsNyArMTIzMSw5IEBAIGJvb2wgV2ViUGFnZVByaXZhdGU6Onpv
b21BYm91dFBvaW50KGRvdWJsZSB1bmNsYW1wZWRTY2FsZSwgY29uc3QgRmxvYXRQb2ludCYgYW5j
CiAgICAgKm1fdHJhbnNmb3JtYXRpb25NYXRyaXggPSB6b29tOwogCiAgICAgLy8gU3VzcGVuZCBh
bGwgc2NyZWVuIHVwZGF0ZXMgdG8gdGhlIGJhY2tpbmdzdG9yZS4KLSAgICBtX2JhY2tpbmdTdG9y
ZS0+ZC0+c3VzcGVuZFNjcmVlbkFuZEJhY2tpbmdTdG9yZVVwZGF0ZXMoKTsKKyAgICAvLyBGSVhN
RTogRG8gd2UgcmVhbGx5IG5lZWQgdG8gc3VzcGVuZC9yZXN1bWUgYm90aCBiYWNraW5nc3RvcmUg
YW5kIHNjcmVlbiBoZXJlPworICAgIG1fYmFja2luZ1N0b3JlLT5kLT5zdXNwZW5kQmFja2luZ1N0
b3JlVXBkYXRlcygpOworICAgIG1fYmFja2luZ1N0b3JlLT5kLT5zdXNwZW5kU2NyZWVuVXBkYXRl
cygpOwogCiAgICAgdXBkYXRlVmlld3BvcnRTaXplKCk7CiAKQEAgLTEyNjcsMTMgKzEyNzMsMTYg
QEAgYm9vbCBXZWJQYWdlUHJpdmF0ZTo6em9vbUFib3V0UG9pbnQoZG91YmxlIHVuY2xhbXBlZFNj
YWxlLCBjb25zdCBGbG9hdFBvaW50JiBhbmMKICAgICBpZiAobV9wZW5kaW5nT3JpZW50YXRpb24g
IT0gLTEpCiAgICAgICAgIG1fY2xpZW50LT51cGRhdGVJbnRlcmFjdGlvblZpZXdzKCk7CiAKKyAg
ICAvLyBGSVhNRTogRG8gd2UgcmVhbGx5IG5lZWQgdG8gc3VzcGVuZC9yZXN1bWUgYm90aCBiYWNr
aW5nc3RvcmUgYW5kIHNjcmVlbiBoZXJlPworICAgIG1fYmFja2luZ1N0b3JlLT5kLT5yZXN1bWVC
YWNraW5nU3RvcmVVcGRhdGVzKCk7CisKICAgICAvLyBDbGVhciB3aW5kb3cgdG8gbWFrZSBzdXJl
IHRoZXJlIGFyZSBubyBhcnRpZmFjdHMuCiAgICAgaWYgKHNob3VsZFJlbmRlcikgewogICAgICAg
ICAvLyBSZXN1bWUgYWxsIHNjcmVlbiB1cGRhdGVzIHRvIHRoZSBiYWNraW5nc3RvcmUgYW5kIHJl
bmRlcitibGl0IHZpc2libGUgY29udGVudHMgdG8gc2NyZWVuLgotICAgICAgICBtX2JhY2tpbmdT
dG9yZS0+ZC0+cmVzdW1lU2NyZWVuQW5kQmFja2luZ1N0b3JlVXBkYXRlcyhCYWNraW5nU3RvcmU6
OlJlbmRlckFuZEJsaXQpOworICAgICAgICBtX2JhY2tpbmdTdG9yZS0+ZC0+cmVzdW1lU2NyZWVu
VXBkYXRlcyhCYWNraW5nU3RvcmU6OlJlbmRlckFuZEJsaXQpOwogICAgIH0gZWxzZSB7CiAgICAg
ICAgIC8vIFJlc3VtZSBhbGwgc2NyZWVuIHVwZGF0ZXMgdG8gdGhlIGJhY2tpbmdzdG9yZSBidXQg
ZG8gbm90IGJsaXQgdG8gdGhlIHNjcmVlbiBiZWNhdXNlIHdlIG5vdCByZW5kZXJpbmcuCi0gICAg
ICAgIG1fYmFja2luZ1N0b3JlLT5kLT5yZXN1bWVTY3JlZW5BbmRCYWNraW5nU3RvcmVVcGRhdGVz
KEJhY2tpbmdTdG9yZTo6Tm9uZSk7CisgICAgICAgIG1fYmFja2luZ1N0b3JlLT5kLT5yZXN1bWVT
Y3JlZW5VcGRhdGVzKEJhY2tpbmdTdG9yZTo6Tm9uZSk7CiAgICAgfQogCiAgICAgcmV0dXJuIHRy
dWU7CkBAIC0yOTQ4LDcgKzI5NTcsOSBAQCB2b2lkIFdlYlBhZ2VQcml2YXRlOjp6b29tQmxvY2so
KQogICAgIHpvb20uc2NhbGUobV9ibG9ja1pvb21GaW5hbFNjYWxlKTsKICAgICAqbV90cmFuc2Zv
cm1hdGlvbk1hdHJpeCA9IHpvb207CiAgICAgbV9jbGllbnQtPnJlc2V0Qml0bWFwWm9vbVNjYWxl
KG1fYmxvY2tab29tRmluYWxTY2FsZSk7Ci0gICAgbV9iYWNraW5nU3RvcmUtPmQtPnN1c3BlbmRT
Y3JlZW5BbmRCYWNraW5nU3RvcmVVcGRhdGVzKCk7CisgICAgLy8gRklYTUU6IERvIHdlIHJlYWxs
eSBuZWVkIHRvIHN1c3BlbmQvcmVzdW1lIGJvdGggYmFja2luZ3N0b3JlIGFuZCBzY3JlZW4gaGVy
ZT8KKyAgICBtX2JhY2tpbmdTdG9yZS0+ZC0+c3VzcGVuZEJhY2tpbmdTdG9yZVVwZGF0ZXMoKTsK
KyAgICBtX2JhY2tpbmdTdG9yZS0+ZC0+c3VzcGVuZFNjcmVlblVwZGF0ZXMoKTsKICAgICB1cGRh
dGVWaWV3cG9ydFNpemUoKTsKIAogI2lmIEVOQUJMRShWSUVXUE9SVF9SRUZMT1cpCkBAIC0zMDA1
LDcgKzMwMTYsOSBAQCB2b2lkIFdlYlBhZ2VQcml2YXRlOjp6b29tQmxvY2soKQogCiAgICAgbm90
aWZ5VHJhbnNmb3JtQ2hhbmdlZCgpOwogICAgIG1fY2xpZW50LT5zY2FsZUNoYW5nZWQoKTsKLSAg
ICBtX2JhY2tpbmdTdG9yZS0+ZC0+cmVzdW1lU2NyZWVuQW5kQmFja2luZ1N0b3JlVXBkYXRlcyhC
YWNraW5nU3RvcmU6OlJlbmRlckFuZEJsaXQpOworICAgIC8vIEZJWE1FOiBEbyB3ZSByZWFsbHkg
bmVlZCB0byBzdXNwZW5kL3Jlc3VtZSBib3RoIGJhY2tpbmdzdG9yZSBhbmQgc2NyZWVuIGhlcmU/
CisgICAgbV9iYWNraW5nU3RvcmUtPmQtPnJlc3VtZUJhY2tpbmdTdG9yZVVwZGF0ZXMoKTsKKyAg
ICBtX2JhY2tpbmdTdG9yZS0+ZC0+cmVzdW1lU2NyZWVuVXBkYXRlcyhCYWNraW5nU3RvcmU6OlJl
bmRlckFuZEJsaXQpOwogfQogCiB2b2lkIFdlYlBhZ2U6OmJsb2NrWm9vbUFuaW1hdGlvbkZpbmlz
aGVkKCkKQEAgLTMwNDIsNyArMzA1NSw5IEBAIHZvaWQgV2ViUGFnZTo6ZGVzdHJveSgpCiAgICAg
ZGlzYWJsZVdlYkluc3BlY3RvcigpOwogCiAgICAgLy8gV2ViUGFnZTo6ZGVzdHJveVdlYlBhZ2VD
b21wb3NpdG9yKCkKLSAgICBkLT5tX2JhY2tpbmdTdG9yZS0+ZC0+c3VzcGVuZFNjcmVlbkFuZEJh
Y2tpbmdTdG9yZVVwZGF0ZXMoKTsKKyAgICAvLyBGSVhNRTogRG8gd2UgcmVhbGx5IG5lZWQgdG8g
c3VzcGVuZC9yZXN1bWUgYm90aCBiYWNraW5nc3RvcmUgYW5kIHNjcmVlbiBoZXJlPworICAgIGQt
Pm1fYmFja2luZ1N0b3JlLT5kLT5zdXNwZW5kQmFja2luZ1N0b3JlVXBkYXRlcygpOworICAgIGQt
Pm1fYmFja2luZ1N0b3JlLT5kLT5zdXNwZW5kU2NyZWVuVXBkYXRlcygpOwogCiAgICAgLy8gQ2xv
c2UgdGhlIGJhY2tmb3J3YXJkIGxpc3QgYW5kIHJlbGVhc2UgdGhlIGNhY2hlZCBwYWdlcy4KICAg
ICBkLT5tX3BhZ2UtPmJhY2tGb3J3YXJkKCktPmNsb3NlKCk7CkBAIC0zNTc3LDcgKzM1OTIsOSBA
QCB2b2lkIFdlYlBhZ2VQcml2YXRlOjpzZXRWaWV3cG9ydFNpemUoY29uc3QgSW50U2l6ZSYgdHJh
bnNmb3JtZWRBY3R1YWxWaXNpYmxlU2l6ZQogCiAgICAgLy8gU3VzcGVuZCBhbGwgc2NyZWVuIHVw
ZGF0ZXMgdG8gdGhlIGJhY2tpbmdzdG9yZSB0byBtYWtlIHN1cmUgbm8tb25lIHRyaWVzIHRvIGJs
aXQKICAgICAvLyB3aGlsZSB0aGUgd2luZG93IHN1cmZhY2UgYW5kIHRoZSBCYWNraW5nU3RvcmUg
YXJlIG91dCBvZiBzeW5jLgotICAgIG1fYmFja2luZ1N0b3JlLT5kLT5zdXNwZW5kU2NyZWVuQW5k
QmFja2luZ1N0b3JlVXBkYXRlcygpOworICAgIC8vIEZJWE1FOiBEbyB3ZSByZWFsbHkgbmVlZCB0
byBzdXNwZW5kL3Jlc3VtZSBib3RoIGJhY2tpbmdzdG9yZSBhbmQgc2NyZWVuIGhlcmU/CisgICAg
bV9iYWNraW5nU3RvcmUtPmQtPnN1c3BlbmRCYWNraW5nU3RvcmVVcGRhdGVzKCk7CisgICAgbV9i
YWNraW5nU3RvcmUtPmQtPnN1c3BlbmRTY3JlZW5VcGRhdGVzKCk7CiAKICAgICAvLyBUaGUgc2Ny
ZWVuIHJvdGF0aW9uIGlzIGEgbWFqb3Igc3RhdGUgdHJhbnNpdGlvbiB0aGF0IGluIHRoaXMgY2Fz
ZSBpcyBub3QgcHJvcGVybHkKICAgICAvLyBjb21tdW5pY2F0ZWQgdG8gdGhlIGJhY2tpbmcgc3Rv
cmUsIHNpbmNlIGl0IGRvZXMgZWFybHkgcmV0dXJuIGluIG1vc3QgbWV0aG9kcyB3aGVuCkBAIC0z
Njk2LDcgKzM3MTMsOSBAQCB2b2lkIFdlYlBhZ2VQcml2YXRlOjpzZXRWaWV3cG9ydFNpemUoY29u
c3QgSW50U2l6ZSYgdHJhbnNmb3JtZWRBY3R1YWxWaXNpYmxlU2l6ZQogCiAgICAgLy8gTmVlZCB0
byByZXN1bWUgc28gdGhhdCB0aGUgYmFja2luZ3N0b3JlIHdpbGwgc3RhcnQgcmVjb3JkaW5nIHRo
ZSBpbnZhbGlkYXRlZAogICAgIC8vIHJlY3RzIGZyb20gYmVsb3cuCi0gICAgbV9iYWNraW5nU3Rv
cmUtPmQtPnJlc3VtZVNjcmVlbkFuZEJhY2tpbmdTdG9yZVVwZGF0ZXMoQmFja2luZ1N0b3JlOjpO
b25lKTsKKyAgICAvLyBGSVhNRTogRG8gd2UgcmVhbGx5IG5lZWQgdG8gc3VzcGVuZC9yZXN1bWUg
Ym90aCBiYWNraW5nc3RvcmUgYW5kIHNjcmVlbiBoZXJlPworICAgIG1fYmFja2luZ1N0b3JlLT5k
LT5yZXN1bWVCYWNraW5nU3RvcmVVcGRhdGVzKCk7CisgICAgbV9iYWNraW5nU3RvcmUtPmQtPnJl
c3VtZVNjcmVlblVwZGF0ZXMoQmFja2luZ1N0b3JlOjpOb25lKTsKIAogICAgIC8vIFdlIG1pZ2h0
IG5lZWQgdG8gbGF5b3V0IGhlcmUgdG8gZ2V0IGEgY29ycmVjdCBjb250ZW50c1NpemUgc28gdGhh
dCB6b29tVG9GaXQKICAgICAvLyBpcyBjYWxjdWxhdGVkIGNvcnJlY3RseS4KQEAgLTM3NjksNyAr
Mzc4OCw5IEBAIHZvaWQgV2ViUGFnZVByaXZhdGU6OnNldFZpZXdwb3J0U2l6ZShjb25zdCBJbnRT
aXplJiB0cmFuc2Zvcm1lZEFjdHVhbFZpc2libGVTaXplCiAgICAgfSBlbHNlIHsKIAogICAgICAg
ICAvLyBTdXNwZW5kIGFsbCBzY3JlZW4gdXBkYXRlcyB0byB0aGUgYmFja2luZ3N0b3JlLgotICAg
ICAgICBtX2JhY2tpbmdTdG9yZS0+ZC0+c3VzcGVuZFNjcmVlbkFuZEJhY2tpbmdTdG9yZVVwZGF0
ZXMoKTsKKyAgICAgICAgLy8gRklYTUU6IERvIHdlIHJlYWxseSBuZWVkIHRvIHN1c3BlbmQvcmVz
dW1lIGJvdGggYmFja2luZ3N0b3JlIGFuZCBzY3JlZW4gaGVyZT8KKyAgICAgICAgbV9iYWNraW5n
U3RvcmUtPmQtPnN1c3BlbmRCYWNraW5nU3RvcmVVcGRhdGVzKCk7CisgICAgICAgIG1fYmFja2lu
Z1N0b3JlLT5kLT5zdXNwZW5kU2NyZWVuVXBkYXRlcygpOwogCiAgICAgICAgIC8vIElmIHRoZSB6
b29tIGZhaWxlZCwgdGhlbiB3ZSBzaG91bGQgc3RpbGwgcHJlc2VydmUgdGhlIHNwZWNpYWwgY2Fz
ZSBvZiBzY3JvbGwgcG9zaXRpb24uCiAgICAgICAgIEludFBvaW50IHNjcm9sbFBvc2l0aW9uID0g
dGhpcy0+c2Nyb2xsUG9zaXRpb24oKTsKQEAgLTM3OTcsNyArMzgxOCw5IEBAIHZvaWQgV2ViUGFn
ZVByaXZhdGU6OnNldFZpZXdwb3J0U2l6ZShjb25zdCBJbnRTaXplJiB0cmFuc2Zvcm1lZEFjdHVh
bFZpc2libGVTaXplCiAgICAgICAgIH0KIAogICAgICAgICAvLyBJZiB3ZSBuZWVkIGxheW91dCB0
aGVuIHJlbmRlciBhbmQgYmxpdCwgb3RoZXJ3aXNlIGp1c3QgYmxpdCBhcyBvdXIgdmlld3BvcnQg
aGFzIGNoYW5nZWQuCi0gICAgICAgIG1fYmFja2luZ1N0b3JlLT5kLT5yZXN1bWVTY3JlZW5BbmRC
YWNraW5nU3RvcmVVcGRhdGVzKG5lZWRzTGF5b3V0ID8gQmFja2luZ1N0b3JlOjpSZW5kZXJBbmRC
bGl0IDogQmFja2luZ1N0b3JlOjpCbGl0KTsKKyAgICAgICAgLy8gRklYTUU6IERvIHdlIHJlYWxs
eSBuZWVkIHRvIHN1c3BlbmQvcmVzdW1lIGJvdGggYmFja2luZ3N0b3JlIGFuZCBzY3JlZW4gaGVy
ZT8KKyAgICAgICAgbV9iYWNraW5nU3RvcmUtPmQtPnJlc3VtZUJhY2tpbmdTdG9yZVVwZGF0ZXMo
KTsKKyAgICAgICAgbV9iYWNraW5nU3RvcmUtPmQtPnJlc3VtZVNjcmVlblVwZGF0ZXMobmVlZHNM
YXlvdXQgPyBCYWNraW5nU3RvcmU6OlJlbmRlckFuZEJsaXQgOiBCYWNraW5nU3RvcmU6OkJsaXQp
OwogICAgIH0KIH0KIApAQCAtNTI4MSwxNSArNTMwNCwyMSBAQCB2b2lkIFdlYlBhZ2VQcml2YXRl
OjpzZXRDb21wb3NpdG9yKFBhc3NSZWZQdHI8V2ViUGFnZUNvbXBvc2l0b3JQcml2YXRlPiBjb21w
b3NpdAogICAgIC8vIFRoYXQgc2VlbXMgZXh0cmVtZWx5IGxpa2VseSB0byBiZSB0aGUgY2FzZSwg
YnV0IGxldCdzIGFzc2VydCBqdXN0IHRvIG1ha2Ugc3VyZS4KICAgICBBU1NFUlQod2ViS2l0VGhy
ZWFkTWVzc2FnZUNsaWVudCgpLT5pc0N1cnJlbnRUaHJlYWQoKSk7CiAKLSAgICBpZiAobV9jb21w
b3NpdG9yIHx8IG1fY2xpZW50LT53aW5kb3coKSkKLSAgICAgICAgbV9iYWNraW5nU3RvcmUtPmQt
PnN1c3BlbmRTY3JlZW5BbmRCYWNraW5nU3RvcmVVcGRhdGVzKCk7CisgICAgaWYgKG1fY29tcG9z
aXRvciB8fCBtX2NsaWVudC0+d2luZG93KCkpIHsKKyAgICAgICAgLy8gRklYTUU6IERvIHdlIHJl
YWxseSBuZWVkIHRvIHN1c3BlbmQvcmVzdW1lIGJvdGggYmFja2luZ3N0b3JlIGFuZCBzY3JlZW4g
aGVyZT8KKyAgICAgICAgbV9iYWNraW5nU3RvcmUtPmQtPnN1c3BlbmRCYWNraW5nU3RvcmVVcGRh
dGVzKCk7CisgICAgICAgIG1fYmFja2luZ1N0b3JlLT5kLT5zdXNwZW5kU2NyZWVuVXBkYXRlcygp
OworICAgIH0KIAogICAgIC8vIFRoZSBtX2NvbXBvc2l0b3IgbWVtYmVyIGhhcyB0byBiZSBtb2Rp
ZmllZCBkdXJpbmcgYSBzeW5jIGNhbGwgZm9yIHRocmVhZAogICAgIC8vIHNhZmUgYWNjZXNzIHRv
IG1fY29tcG9zaXRvciBhbmQgaXRzIHJlZmNvdW50LgogICAgIHVzZXJJbnRlcmZhY2VUaHJlYWRN
ZXNzYWdlQ2xpZW50KCktPmRpc3BhdGNoU3luY01lc3NhZ2UoY3JlYXRlTWV0aG9kQ2FsbE1lc3Nh
Z2UoJldlYlBhZ2VQcml2YXRlOjpzZXRDb21wb3NpdG9ySGVscGVyLCB0aGlzLCBjb21wb3NpdG9y
KSk7CiAKLSAgICBpZiAobV9jb21wb3NpdG9yIHx8IG1fY2xpZW50LT53aW5kb3coKSkgLy8gdGhl
IG5ldyBjb21wb3NpdG9yLCBpZiBvbmUgd2FzIHNldAotICAgICAgICBtX2JhY2tpbmdTdG9yZS0+
ZC0+cmVzdW1lU2NyZWVuQW5kQmFja2luZ1N0b3JlVXBkYXRlcyhCYWNraW5nU3RvcmU6OlJlbmRl
ckFuZEJsaXQpOworICAgIGlmIChtX2NvbXBvc2l0b3IgfHwgbV9jbGllbnQtPndpbmRvdygpKSB7
IC8vIHRoZSBuZXcgY29tcG9zaXRvciwgaWYgb25lIHdhcyBzZXQKKyAgICAgICAgLy8gRklYTUU6
IERvIHdlIHJlYWxseSBuZWVkIHRvIHN1c3BlbmQvcmVzdW1lIGJvdGggYmFja2luZ3N0b3JlIGFu
ZCBzY3JlZW4gaGVyZT8KKyAgICAgICAgbV9iYWNraW5nU3RvcmUtPmQtPnJlc3VtZUJhY2tpbmdT
dG9yZVVwZGF0ZXMoKTsKKyAgICAgICAgbV9iYWNraW5nU3RvcmUtPmQtPnJlc3VtZVNjcmVlblVw
ZGF0ZXMoQmFja2luZ1N0b3JlOjpSZW5kZXJBbmRCbGl0KTsKKyAgICB9CiB9CiAKIHZvaWQgV2Vi
UGFnZVByaXZhdGU6OnNldENvbXBvc2l0b3JIZWxwZXIoUGFzc1JlZlB0cjxXZWJQYWdlQ29tcG9z
aXRvclByaXZhdGU+IGNvbXBvc2l0b3IpCkBAIC01NzM1LDcgKzU3NjQsOSBAQCB2b2lkIFdlYlBh
Z2VQcml2YXRlOjpleGl0RnVsbFNjcmVlbkZvckVsZW1lbnQoRWxlbWVudCogZWxlbWVudCkKICAg
ICAgICAgLy8gVGhlIEJyb3dzZXIgY2hyb21lIGhhcyBpdHMgb3duIGZ1bGxzY3JlZW4gdmlkZW8g
d2lkZ2V0LgogICAgICAgICBleGl0RnVsbHNjcmVlbkZvck5vZGUoZWxlbWVudCk7CiAgICAgfSBl
bHNlIHsKLSAgICAgICAgbV9iYWNraW5nU3RvcmUtPmQtPnN1c3BlbmRTY3JlZW5BbmRCYWNraW5n
U3RvcmVVcGRhdGVzKCk7CisgICAgICAgIC8vIEZJWE1FOiBEbyB3ZSByZWFsbHkgbmVlZCB0byBz
dXNwZW5kL3Jlc3VtZSBib3RoIGJhY2tpbmdzdG9yZSBhbmQgc2NyZWVuIGhlcmU/CisgICAgICAg
IG1fYmFja2luZ1N0b3JlLT5kLT5zdXNwZW5kQmFja2luZ1N0b3JlVXBkYXRlcygpOworICAgICAg
ICBtX2JhY2tpbmdTdG9yZS0+ZC0+c3VzcGVuZFNjcmVlblVwZGF0ZXMoKTsKIAogICAgICAgICAv
LyBXaGVuIGxlYXZpbmcgZnVsbHNjcmVlbiBtb2RlLCB3ZSBuZWVkIHRvIHJlc3RvcmUgdGhlICd4
JyBzY3JvbGwgcG9zaXRpb24KICAgICAgICAgLy8gYmVmb3JlIGZ1bGxzY3JlZW4uCkBAIC01NzU2
LDcgKzU3ODcsOSBAQCB2b2lkIFdlYlBhZ2VQcml2YXRlOjpleGl0RnVsbFNjcmVlbkZvckVsZW1l
bnQoRWxlbWVudCogZWxlbWVudCkKICAgICAgICAgfQogCiAgICAgICAgIG5vdGlmeVRyYW5zZm9y
bUNoYW5nZWQoKTsKLSAgICAgICAgbV9iYWNraW5nU3RvcmUtPmQtPnJlc3VtZVNjcmVlbkFuZEJh
Y2tpbmdTdG9yZVVwZGF0ZXMoQmFja2luZ1N0b3JlOjpSZW5kZXJBbmRCbGl0KTsKKyAgICAgICAg
Ly8gRklYTUU6IERvIHdlIHJlYWxseSBuZWVkIHRvIHN1c3BlbmQvcmVzdW1lIGJvdGggYmFja2lu
Z3N0b3JlIGFuZCBzY3JlZW4gaGVyZT8KKyAgICAgICAgbV9iYWNraW5nU3RvcmUtPmQtPnJlc3Vt
ZUJhY2tpbmdTdG9yZVVwZGF0ZXMoKTsKKyAgICAgICAgbV9iYWNraW5nU3RvcmUtPmQtPnJlc3Vt
ZVNjcmVlblVwZGF0ZXMoQmFja2luZ1N0b3JlOjpSZW5kZXJBbmRCbGl0KTsKIAogICAgICAgICAv
LyBUaGlzIGlzIHdoZXJlIHdlIHdvdWxkIHJlc3RvcmUgdGhlIGJyb3dzZXIncyBjaHJvbWUKICAg
ICAgICAgLy8gaWYgaGlkZGVuIGFib3ZlLgpAQCAtNjA3MCw3ICs2MTAzLDkgQEAgdm9pZCBXZWJQ
YWdlUHJpdmF0ZTo6c2V0VGV4dFpvb21GYWN0b3IoZmxvYXQgdGV4dFpvb21GYWN0b3IpCiB2b2lk
IFdlYlBhZ2VQcml2YXRlOjpyZXN0b3JlSGlzdG9yeVZpZXdTdGF0ZShQbGF0Zm9ybTo6SW50U2l6
ZSBjb250ZW50c1NpemUsIFBsYXRmb3JtOjpJbnRQb2ludCBzY3JvbGxQb3NpdGlvbiwgZG91Ymxl
IHNjYWxlLCBib29sIHNob3VsZFJlZmxvd0Jsb2NrKQogewogICAgIGlmICghbV9tYWluRnJhbWUp
IHsKLSAgICAgICAgbV9iYWNraW5nU3RvcmUtPmQtPnJlc3VtZVNjcmVlbkFuZEJhY2tpbmdTdG9y
ZVVwZGF0ZXMoQmFja2luZ1N0b3JlOjpSZW5kZXJBbmRCbGl0KTsKKyAgICAgICAgLy8gRklYTUU6
IERvIHdlIHJlYWxseSBuZWVkIHRvIHN1c3BlbmQvcmVzdW1lIGJvdGggYmFja2luZ3N0b3JlIGFu
ZCBzY3JlZW4gaGVyZT8KKyAgICAgICAgbV9iYWNraW5nU3RvcmUtPmQtPnJlc3VtZUJhY2tpbmdT
dG9yZVVwZGF0ZXMoKTsKKyAgICAgICAgbV9iYWNraW5nU3RvcmUtPmQtPnJlc3VtZVNjcmVlblVw
ZGF0ZXMoQmFja2luZ1N0b3JlOjpSZW5kZXJBbmRCbGl0KTsKICAgICAgICAgcmV0dXJuOwogICAg
IH0KIApAQCAtNjA4OCw3ICs2MTIzLDkgQEAgdm9pZCBXZWJQYWdlUHJpdmF0ZTo6cmVzdG9yZUhp
c3RvcnlWaWV3U3RhdGUoUGxhdGZvcm06OkludFNpemUgY29udGVudHNTaXplLCBQbGEKICAgICBi
b29sIGRpZFpvb20gPSB6b29tQWJvdXRQb2ludChzY2FsZSwgbV9tYWluRnJhbWUtPnZpZXcoKS0+
c2Nyb2xsUG9zaXRpb24oKSwgdHJ1ZSAvKiBlbmZvcmNlU2NhbGVDbGFtcGluZyAqLywgdHJ1ZSAv
KmZvcmNlUmVuZGVyaW5nKi8sIHRydWUgLyppc1Jlc3RvcmluZ1pvb21MZXZlbCovKTsKICAgICAv
LyBJZiB3ZSdyZSBhbHJlYWR5IGF0IHRoYXQgc2NhbGUsIHRoZW4gd2Ugc2hvdWxkIHN0aWxsIGZv
cmNlIHJlbmRlcmluZwogICAgIC8vIHNpbmNlIG91ciBzY3JvbGwgcG9zaXRpb24gY2hhbmdlZC4K
LSAgICBtX2JhY2tpbmdTdG9yZS0+ZC0+cmVzdW1lU2NyZWVuQW5kQmFja2luZ1N0b3JlVXBkYXRl
cyhCYWNraW5nU3RvcmU6OlJlbmRlckFuZEJsaXQpOworICAgIC8vIEZJWE1FOiBEbyB3ZSByZWFs
bHkgbmVlZCB0byBzdXNwZW5kL3Jlc3VtZSBib3RoIGJhY2tpbmdzdG9yZSBhbmQgc2NyZWVuIGhl
cmU/CisgICAgbV9iYWNraW5nU3RvcmUtPmQtPnJlc3VtZUJhY2tpbmdTdG9yZVVwZGF0ZXMoKTsK
KyAgICBtX2JhY2tpbmdTdG9yZS0+ZC0+cmVzdW1lU2NyZWVuVXBkYXRlcyhCYWNraW5nU3RvcmU6
OlJlbmRlckFuZEJsaXQpOwogCiAgICAgaWYgKCFkaWRab29tKSB7CiAgICAgICAgIC8vIFdlIG5l
ZWQgdG8gbm90aWZ5IHRoZSBjbGllbnQgb2YgdGhlIHNjcm9sbCBwb3NpdGlvbiBhbmQgY29udGVu
dCBzaXplIGNoYW5nZShzKSBhYm92ZSBldmVuIGlmIHdlIGRpZG4ndCBzY2FsZS4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Js
YWNrYmVycnkvQ2hhbmdlTG9nCmluZGV4IDYxODllZTAuLjdiZGEyNTYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9ibGFj
a2JlcnJ5L0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDEyLTExLTEzICBBZGFtIFRyZWF0
ICA8YXRyZWF0QHJpbS5jb20+CisKKyAgICAgICAgW0JsYWNrQmVycnldIEJyZWFrIHN1c3BlbmQv
cmVzdW1lIG9mIHRoZSBiYWNraW5nc3RvcmUgYW5kIHNjcmVlbiBpbnRvIHNlcGFyYXRlIG1ldGhv
ZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjEy
NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICBQUiAyMTk5
NzYKKworICAgICAgICBNb2RpZnkgdGhlIHN1c3BlbmQvcmVzdW1lIG1ldGhvZHMgc28gdGhhdCB0
aGV5IGNhbiBiZSBjYWxsZWQgZnJvbSB0aGUgVUkgdGhyZWFkCisgICAgICAgIGl0c2VsZiBhbmQg
c3BsaXQgdXAgdGhlIHN1c3BlbmQvcmVzdW1lIG1ldGhvZHMgc28gdGhhdCB3ZSBjYW4gc3VzcGVu
ZC9yZXN1bWUKKyAgICAgICAgdGhlIHNjcmVlbiBvciBiYWNraW5nc3RvcmUgc2VwYXJhdGVseS4K
KworICAgICAgICAqIEFwaS9CYWNraW5nU3RvcmUuY3BwOgorICAgICAgICAoQmxhY2tCZXJyeTo6
V2ViS2l0OjpCYWNraW5nU3RvcmVQcml2YXRlOjpzdXNwZW5kQmFja2luZ1N0b3JlVXBkYXRlcyk6
CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpCYWNraW5n
U3RvcmVQcml2YXRlOjpzdXNwZW5kU2NyZWVuVXBkYXRlcyk6CisgICAgICAgIChCbGFja0JlcnJ5
OjpXZWJLaXQ6OkJhY2tpbmdTdG9yZVByaXZhdGU6OnJlc3VtZUJhY2tpbmdTdG9yZVVwZGF0ZXMp
OgorICAgICAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpCYWNraW5nU3RvcmVQcml2YXRlOjpyZXN1
bWVTY3JlZW5VcGRhdGVzKToKKyAgICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6QmFja2luZ1N0
b3JlUHJpdmF0ZTo6YmxpdFZpc2libGVDb250ZW50cyk6CisgICAgICAgIChCbGFja0JlcnJ5OjpX
ZWJLaXQ6OkJhY2tpbmdTdG9yZVByaXZhdGU6OmNyZWF0ZVN1cmZhY2VzKToKKyAgICAgICAgKEJs
YWNrQmVycnk6OldlYktpdDo6QmFja2luZ1N0b3JlOjpzdXNwZW5kQmFja2luZ1N0b3JlVXBkYXRl
cyk6CisgICAgICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6OkJhY2tpbmdTdG9yZTo6cmVzdW1lQmFj
a2luZ1N0b3JlVXBkYXRlcyk6CisgICAgICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6OkJhY2tpbmdT
dG9yZTo6c3VzcGVuZFNjcmVlblVwZGF0ZXMpOgorICAgICAgICAoQmxhY2tCZXJyeTo6V2ViS2l0
OjpCYWNraW5nU3RvcmU6OnJlc3VtZVNjcmVlblVwZGF0ZXMpOgorICAgICAgICAoQmxhY2tCZXJy
eTo6V2ViS2l0OjpCYWNraW5nU3RvcmU6OmNyZWF0ZUJhY2tpbmdTdG9yZU1lbW9yeSk6CisgICAg
ICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6OkJhY2tpbmdTdG9yZTo6cmVsZWFzZUJhY2tpbmdTdG9y
ZU1lbW9yeSk6CisgICAgICAgICogQXBpL0JhY2tpbmdTdG9yZS5oOgorICAgICAgICAqIEFwaS9C
YWNraW5nU3RvcmVfcC5oOgorICAgICAgICAoQmFja2luZ1N0b3JlUHJpdmF0ZSk6CisgICAgICAg
ICogQXBpL1dlYlBhZ2UuY3BwOgorICAgICAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpXZWJQYWdl
UHJpdmF0ZTo6c2V0TG9hZFN0YXRlKToKKyAgICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6V2Vi
UGFnZVByaXZhdGU6Onpvb21BYm91dFBvaW50KToKKyAgICAgICAgKEJsYWNrQmVycnk6OldlYktp
dDo6V2ViUGFnZVByaXZhdGU6Onpvb21CbG9jayk6CisgICAgICAgIChCbGFja0JlcnJ5OjpXZWJL
aXQ6OldlYlBhZ2U6OmRlc3Ryb3kpOgorICAgICAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpXZWJQ
YWdlUHJpdmF0ZTo6c2V0Vmlld3BvcnRTaXplKToKKyAgICAgICAgKEJsYWNrQmVycnk6OldlYktp
dDo6V2ViUGFnZVByaXZhdGU6OnNldENvbXBvc2l0b3IpOgorICAgICAgICAoQmxhY2tCZXJyeTo6
V2ViS2l0OjpXZWJQYWdlUHJpdmF0ZTo6ZXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KToKKyAgICAg
ICAgKEJsYWNrQmVycnk6OldlYktpdDo6V2ViUGFnZVByaXZhdGU6OnJlc3RvcmVIaXN0b3J5Vmll
d1N0YXRlKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEJsYWNr
QmVycnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnRCbGFja0JlcnJ5
Ojp0cmFuc2l0aW9uVG9Db21taXR0ZWRGb3JOZXdQYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OkZy
YW1lTG9hZGVyQ2xpZW50QmxhY2tCZXJyeTo6cmVzdG9yZVZpZXdTdGF0ZSk6CisgICAgICAgICog
V2ViS2l0U3VwcG9ydC9JbnB1dEhhbmRsZXIuY3BwOgorICAgICAgICAoQmxhY2tCZXJyeTo6V2Vi
S2l0OjpJbnB1dEhhbmRsZXI6OnNldEJhdGNoRWRpdGluZ0FjdGl2ZSk6CisKIDIwMTItMTEtMTQg
IE5pbWEgR2hhbmF2YXRpYW4gIDxuZ2hhbmF2YXRpYW5AcmltLmNvbT4KIAogICAgICAgICBbQmxh
Y2tCZXJyeV0gVXNlIG1pc3BlbGxlZC1tYXJrZXIgb2Zmc2V0cyByZWxhdGl2ZSB0byB0aGUgZWxl
bWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0
L0ZyYW1lTG9hZGVyQ2xpZW50QmxhY2tCZXJyeS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVy
cnkvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRCbGFja0JlcnJ5LmNwcAppbmRleCA5
NjY5YzkzLi4wNzkwYWI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2Vi
Q29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRCbGFja0JlcnJ5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRCbGFja0Jl
cnJ5LmNwcApAQCAtNDM1LDggKzQzNSwxMSBAQCB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50QmxhY2tC
ZXJyeTo6dHJhbnNpdGlvblRvQ29tbWl0dGVkRm9yTmV3UGFnZSgpCiAgICAgLy8gaW4gdGhlIGJh
Y2tpbmcgc3RvcmUgZnJvbSBhbm90aGVyIHRocmVhZCAoc2VlIEJhY2tpbmdTdG9yZVByaXZhdGU6
OmJsaXRWaXNpYmxlQ29udGVudHMgbWV0aG9kKSwKICAgICAvLyBzbyB3ZSBzdXNwZW5kIGFuZCBy
ZXN1bWUgc2NyZWVuIHVwZGF0ZSB0byBtYWtlIHN1cmUgd2UgZG8gbm90IGdldCBhIGludmFsaWQg
RnJhbWVWaWV3CiAgICAgLy8gc3RhdGUuCi0gICAgaWYgKGlzTWFpbkZyYW1lKCkgJiYgbV93ZWJQ
YWdlUHJpdmF0ZS0+YmFja2luZ1N0b3JlQ2xpZW50KCkpCi0gICAgICAgIG1fd2ViUGFnZVByaXZh
dGUtPmJhY2tpbmdTdG9yZUNsaWVudCgpLT5iYWNraW5nU3RvcmUoKS0+ZC0+c3VzcGVuZFNjcmVl
bkFuZEJhY2tpbmdTdG9yZVVwZGF0ZXMoKTsKKyAgICBpZiAoaXNNYWluRnJhbWUoKSAmJiBtX3dl
YlBhZ2VQcml2YXRlLT5iYWNraW5nU3RvcmVDbGllbnQoKSkgeworICAgICAgICAvLyBGSVhNRTog
RG8gd2UgcmVhbGx5IG5lZWQgdG8gc3VzcGVuZC9yZXN1bWUgYm90aCBiYWNraW5nc3RvcmUgYW5k
IHNjcmVlbiBoZXJlPworICAgICAgICBtX3dlYlBhZ2VQcml2YXRlLT5iYWNraW5nU3RvcmVDbGll
bnQoKS0+YmFja2luZ1N0b3JlKCktPmQtPnN1c3BlbmRCYWNraW5nU3RvcmVVcGRhdGVzKCk7Cisg
ICAgICAgIG1fd2ViUGFnZVByaXZhdGUtPmJhY2tpbmdTdG9yZUNsaWVudCgpLT5iYWNraW5nU3Rv
cmUoKS0+ZC0+c3VzcGVuZFNjcmVlblVwZGF0ZXMoKTsKKyAgICB9CiAKICAgICAvLyBXZSBhcmUg
bmF2aWdhdGluZyBhd2F5IGZyb20gdGhpcyBkb2N1bWVudCwgc28gY2xlYW4gdXAgYW55IGZvb3Rw
cmludCB3ZSBtaWdodCBoYXZlLgogICAgIGlmIChtX2ZyYW1lLT5kb2N1bWVudCgpKQpAQCAtNDU2
LDggKzQ1OSwxMSBAQCB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50QmxhY2tCZXJyeTo6dHJhbnNpdGlv
blRvQ29tbWl0dGVkRm9yTmV3UGFnZSgpCiAgICAgICAgICAgICAgICAgICAgICAgICBTY3JvbGxi
YXJBbHdheXNPZmYsICAgICAgICAgICAgICAgICAgICAvKiB2ZXIgbW9kZSAqLwogICAgICAgICAg
ICAgICAgICAgICAgICAgdHJ1ZSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyog
bG9jayB0aGUgbW9kZSAqLwogCi0gICAgaWYgKGlzTWFpbkZyYW1lKCkgJiYgbV93ZWJQYWdlUHJp
dmF0ZS0+YmFja2luZ1N0b3JlQ2xpZW50KCkpCi0gICAgICAgIG1fd2ViUGFnZVByaXZhdGUtPmJh
Y2tpbmdTdG9yZUNsaWVudCgpLT5iYWNraW5nU3RvcmUoKS0+ZC0+cmVzdW1lU2NyZWVuQW5kQmFj
a2luZ1N0b3JlVXBkYXRlcyhCYWNraW5nU3RvcmU6Ok5vbmUpOworICAgIGlmIChpc01haW5GcmFt
ZSgpICYmIG1fd2ViUGFnZVByaXZhdGUtPmJhY2tpbmdTdG9yZUNsaWVudCgpKSB7CisgICAgICAg
IC8vIEZJWE1FOiBEbyB3ZSByZWFsbHkgbmVlZCB0byBzdXNwZW5kL3Jlc3VtZSBib3RoIGJhY2tp
bmdzdG9yZSBhbmQgc2NyZWVuIGhlcmU/CisgICAgICAgIG1fd2ViUGFnZVByaXZhdGUtPmJhY2tp
bmdTdG9yZUNsaWVudCgpLT5iYWNraW5nU3RvcmUoKS0+ZC0+cmVzdW1lQmFja2luZ1N0b3JlVXBk
YXRlcygpOworICAgICAgICBtX3dlYlBhZ2VQcml2YXRlLT5iYWNraW5nU3RvcmVDbGllbnQoKS0+
YmFja2luZ1N0b3JlKCktPmQtPnJlc3VtZVNjcmVlblVwZGF0ZXMoQmFja2luZ1N0b3JlOjpOb25l
KTsKKyAgICB9CiAKICAgICBtX2ZyYW1lLT52aWV3KCktPnVwZGF0ZUNhbkhhdmVTY3JvbGxiYXJz
KCk7CiAKQEAgLTExMjIsNyArMTEyOCw5IEBAIHZvaWQgRnJhbWVMb2FkZXJDbGllbnRCbGFja0Jl
cnJ5OjpyZXN0b3JlVmlld1N0YXRlKCkKIAogICAgIC8vIERvbid0IGZsYXNoIGNoZWNrZXJib2Fy
ZCBiZWZvcmUgV2ViUGFnZVByaXZhdGU6OnJlc3RvcmVIaXN0b3J5Vmlld1N0YXRlKCkgZmluaXNo
ZWQuCiAgICAgLy8gVGhpcyBjYWxsIHdpbGwgYmUgYmFsYW5jZWQgYnkgQmFja2luZ1N0b3JlUHJp
dmF0ZTo6cmVzdW1lU2NyZWVuQW5kQmFja2luZ1N0b3JlVXBkYXRlcygpIGluIFdlYlBhZ2VQcml2
YXRlOjpyZXN0b3JlSGlzdG9yeVZpZXdTdGF0ZSgpLgotICAgIG1fd2ViUGFnZVByaXZhdGUtPm1f
YmFja2luZ1N0b3JlLT5kLT5zdXNwZW5kU2NyZWVuQW5kQmFja2luZ1N0b3JlVXBkYXRlcygpOwor
ICAgIC8vIEZJWE1FOiBEbyB3ZSByZWFsbHkgbmVlZCB0byBzdXNwZW5kL3Jlc3VtZSBib3RoIGJh
Y2tpbmdzdG9yZSBhbmQgc2NyZWVuIGhlcmU/CisgICAgbV93ZWJQYWdlUHJpdmF0ZS0+bV9iYWNr
aW5nU3RvcmUtPmQtPnN1c3BlbmRCYWNraW5nU3RvcmVVcGRhdGVzKCk7CisgICAgbV93ZWJQYWdl
UHJpdmF0ZS0+bV9iYWNraW5nU3RvcmUtPmQtPnN1c3BlbmRTY3JlZW5VcGRhdGVzKCk7CiAKICAg
ICAvLyBJdCBpcyBub3Qgc2FmZSB0byByZW5kZXIgdGhlIHBhZ2UgYXQgdGhpcyBwb2ludC4gU28g
d2UgcG9zdCBhIG1lc3NhZ2UgaW5zdGVhZC4gTWVzc2FnZXMgaGF2ZSBoaWdoZXIgcHJpb3JpdHkg
dGhhbiB0aW1lcnMuCiAgICAgQmxhY2tCZXJyeTo6UGxhdGZvcm06OndlYktpdFRocmVhZE1lc3Nh
Z2VDbGllbnQoKS0+ZGlzcGF0Y2hNZXNzYWdlKEJsYWNrQmVycnk6OlBsYXRmb3JtOjpjcmVhdGVN
ZXRob2RDYWxsTWVzc2FnZSgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9X
ZWJLaXRTdXBwb3J0L0lucHV0SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkv
V2ViS2l0U3VwcG9ydC9JbnB1dEhhbmRsZXIuY3BwCmluZGV4IDUzY2Y0ZmIuLjgwYTk0NjMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJLaXRTdXBwb3J0L0lucHV0SGFu
ZGxlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvSW5w
dXRIYW5kbGVyLmNwcApAQCAtMTg0MSwxMCArMTg0MSwxNCBAQCBib29sIElucHV0SGFuZGxlcjo6
c2V0QmF0Y2hFZGl0aW5nQWN0aXZlKGJvb2wgYWN0aXZlKQogICAgIEFTU0VSVChiYWNraW5nU3Rv
cmVDbGllbnQpOwogCiAgICAgLy8gRW5hYmxlIC8gRGlzYWJsZSB0aGUgYmFja2luZ3N0b3JlIHRv
IHByZXZlbnQgdmlzdWFsIHVwZGF0ZXMuCi0gICAgaWYgKCFhY3RpdmUpCi0gICAgICAgIGJhY2tp
bmdTdG9yZUNsaWVudC0+YmFja2luZ1N0b3JlKCktPnJlc3VtZVNjcmVlbkFuZEJhY2tpbmdTdG9y
ZVVwZGF0ZXMoQmFja2luZ1N0b3JlOjpSZW5kZXJBbmRCbGl0KTsKLSAgICBlbHNlCi0gICAgICAg
IGJhY2tpbmdTdG9yZUNsaWVudC0+YmFja2luZ1N0b3JlKCktPnN1c3BlbmRTY3JlZW5BbmRCYWNr
aW5nU3RvcmVVcGRhdGVzKCk7CisgICAgLy8gRklYTUU6IERvIHdlIHJlYWxseSBuZWVkIHRvIHN1
c3BlbmQvcmVzdW1lIGJvdGggYmFja2luZ3N0b3JlIGFuZCBzY3JlZW4gaGVyZT8KKyAgICBpZiAo
IWFjdGl2ZSkgeworICAgICAgICBiYWNraW5nU3RvcmVDbGllbnQtPmJhY2tpbmdTdG9yZSgpLT5y
ZXN1bWVCYWNraW5nU3RvcmVVcGRhdGVzKCk7CisgICAgICAgIGJhY2tpbmdTdG9yZUNsaWVudC0+
YmFja2luZ1N0b3JlKCktPnJlc3VtZVNjcmVlblVwZGF0ZXMoQmFja2luZ1N0b3JlOjpSZW5kZXJB
bmRCbGl0KTsKKyAgICB9IGVsc2UgeworICAgICAgICBiYWNraW5nU3RvcmVDbGllbnQtPmJhY2tp
bmdTdG9yZSgpLT5zdXNwZW5kQmFja2luZ1N0b3JlVXBkYXRlcygpOworICAgICAgICBiYWNraW5n
U3RvcmVDbGllbnQtPmJhY2tpbmdTdG9yZSgpLT5zdXNwZW5kU2NyZWVuVXBkYXRlcygpOworICAg
IH0KIAogICAgIHJldHVybiB0cnVlOwogfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>