<?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>206468</bug_id>
          
          <creation_ts>2020-01-17 23:58:31 -0800</creation_ts>
          <short_desc>[Media in GPU process] Pipe more MediaPlayerPrivate and client methods</short_desc>
          <delta_ts>2020-01-22 22:32:13 -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>Media</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jon Lee">jonlee</reporter>
          <assigned_to name="Jon Lee">jonlee</assigned_to>
          <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jer.noble</cc>
    
    <cc>peng.liu6</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1608405</commentid>
    <comment_count>0</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2020-01-17 23:58:31 -0800</bug_when>
    <thetext>Pipe more MediaPlayerPrivate and client methods</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1608407</commentid>
    <comment_count>1</comment_count>
      <attachid>388136</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2020-01-18 00:25:44 -0800</bug_when>
    <thetext>Created attachment 388136
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1608450</commentid>
    <comment_count>2</comment_count>
      <attachid>388136</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-01-18 10:02:02 -0800</bug_when>
    <thetext>Comment on attachment 388136
Patch

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

&gt; Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.cpp:476
&gt; +    m_webProcessConnection-&gt;send(Messages::RemoteMediaPlayerManager::CurrentPlaybackTargetIsWirelessChanged(m_id), 0);

HTMLMediaElement::mediaPlayerCurrentPlaybackTargetIsWirelessChanged immediately calls m_player-&gt;isCurrentPlaybackTargetWireless(), so we should push that state here and cache it in the MediaPlayerPrivateRemote.

&gt; Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:684
&gt; +    if (m_player)

m_player is never NULL.

&gt; Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:942
&gt; +    if (m_player)

Ditto.

&gt; Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:948
&gt; +    if (m_player)

Ditto.

&gt; Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:954
&gt; +    if (m_player)

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1608492</commentid>
    <comment_count>3</comment_count>
      <attachid>388162</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2020-01-18 16:50:30 -0800</bug_when>
    <thetext>Created attachment 388162
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1608498</commentid>
    <comment_count>4</comment_count>
      <attachid>388162</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-01-18 17:31:48 -0800</bug_when>
    <thetext>Comment on attachment 388162
Patch

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

Thanks!

&gt; Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:815
&gt; +    if (m_player)

This test is unnecessary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1608620</commentid>
    <comment_count>5</comment_count>
      <attachid>388162</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2020-01-19 21:32:58 -0800</bug_when>
    <thetext>Comment on attachment 388162
Patch

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

&gt;&gt; Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:815
&gt;&gt; +    if (m_player)
&gt; 
&gt; This test is unnecessary.

Whoops, will remove.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1609770</commentid>
    <comment_count>6</comment_count>
      <attachid>388474</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2020-01-22 15:13:25 -0800</bug_when>
    <thetext>Created attachment 388474
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1609771</commentid>
    <comment_count>7</comment_count>
      <attachid>388474</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-01-22 15:20:18 -0800</bug_when>
    <thetext>Comment on attachment 388474
Patch

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

&gt; Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:815
&gt; +    if (m_player)

:-/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1609835</commentid>
    <comment_count>8</comment_count>
      <attachid>388481</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2020-01-22 16:13:03 -0800</bug_when>
    <thetext>Created attachment 388481
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1609968</commentid>
    <comment_count>9</comment_count>
      <attachid>388481</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-22 22:31:39 -0800</bug_when>
    <thetext>Comment on attachment 388481
Patch

Clearing flags on attachment: 388481

Committed r254964: &lt;https://trac.webkit.org/changeset/254964&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1609969</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-22 22:31:41 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1609970</commentid>
    <comment_count>11</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-01-22 22:32:13 -0800</bug_when>
    <thetext>&lt;rdar://problem/58825046&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388136</attachid>
            <date>2020-01-18 00:25:44 -0800</date>
            <delta_ts>2020-01-18 16:50:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206468-20200118002543.patch</filename>
            <type>text/plain</type>
            <size>20009</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0NzkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjQ1YTcxNDBjNTY3YWQ3
ZThmYTRiMmYzYzdlN2VjYzE5ODkyNzBlMS4uYWMwMWIyNzZhZWRhOGEzY2QxM2IwNmUyZDNkNDMx
ZDEzNDBjZWRmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIwLTAxLTE3ICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBbTWVkaWEgaW4gR1BVIHByb2Nlc3Nd
IFBpcGUgbW9yZSBNZWRpYVBsYXllclByaXZhdGUgYW5kIGNsaWVudCBtZXRob2RzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDY0NjgKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL01lZGlhUGxheWVyLmg6IEFkZCByZXNvdXJjZU5vdFN1cHBvcnRlZCgpIHRvIGNhbGwgdXAg
dG8gdGhlIGNsaWVudC4KKwogMjAyMC0wMS0xNyAgQ2F0aGllIENoZW4gIDxjYXRoaWVjaGVuQGln
YWxpYS5jb20+CiAKICAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHNjcm9sbCBiZWhhdmlvciBwYXJz
aW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCmluZGV4IDNlZDhjMjkyMGZmMGY1MTVlYjgyYWVmY2FiNGZmMGM0MzdkMDZmYzQu
LjhlNzBjY2E3Y2Y3Zjg4N2I1YzIxMTZjYTkzNzdhNjJjZTMyMjA1NzIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsNTIgQEAKKzIwMjAtMDEtMTcgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgorCisg
ICAgICAgIFtNZWRpYSBpbiBHUFUgcHJvY2Vzc10gUGlwZSBtb3JlIE1lZGlhUGxheWVyUHJpdmF0
ZSBhbmQgY2xpZW50IG1ldGhvZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwNjQ2OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFBpcGUgbW9yZSBvZiB0aGUgbWVkaWEgcGxheWVyIGFuZCBjbGllbnQgZnVu
Y3Rpb25zLiBUaGVzZSBhcmUgdm9pZCBmdW5jdGlvbnMgdGhhdCByZXF1aXJlIG5vIHBhcmFtZXRl
cnMuCisKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHku
Y3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXll
clJlc291cmNlTm90U3VwcG9ydGVkKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFQbGF5
ZXJQcm94eTo6bWVkaWFQbGF5ZXJFbmdpbmVVcGRhdGVkKToKKyAgICAgICAgKFdlYktpdDo6UmVt
b3RlTWVkaWFQbGF5ZXJQcm94eTo6bWVkaWFQbGF5ZXJBY3RpdmVTb3VyY2VCdWZmZXJzQ2hhbmdl
ZCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6Om1lZGlhUGxheWVy
V2FpdGluZ0ZvcktleUNoYW5nZWQpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXll
clByb3h5OjptZWRpYVBsYXllckN1cnJlbnRQbGF5YmFja1RhcmdldElzV2lyZWxlc3NDaGFuZ2Vk
KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6c2V0V2lyZWxlc3NW
aWRlb1BsYXliYWNrRGlzYWJsZWQpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXll
clByb3h5OjpzZXRTaG91bGRQbGF5VG9QbGF5YmFja1RhcmdldCk6CisgICAgICAgIChXZWJLaXQ6
OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6OmtleUFkZGVkKToKKyAgICAgICAgKFdlYktpdDo6UmVt
b3RlTWVkaWFQbGF5ZXJQcm94eTo6YmVnaW5TaW11bGF0ZWRIRENQRXJyb3IpOgorICAgICAgICAo
V2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjplbmRTaW11bGF0ZWRIRENQRXJyb3IpOgor
ICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllclByb3h5Ojpub3RpZnlBY3RpdmVTb3Vy
Y2VCdWZmZXJzQ2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyUHJv
eHk6OmFwcGxpY2F0aW9uV2lsbFJlc2lnbkFjdGl2ZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90
ZU1lZGlhUGxheWVyUHJveHk6OmFwcGxpY2F0aW9uRGlkQmVjb21lQWN0aXZlKToKKyAgICAgICAg
KiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuaDoKKyAgICAgICAgKiBH
UFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkubWVzc2FnZXMuaW46CisgICAg
ICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpzZXRXaXJlbGVzc1Zp
ZGVvUGxheWJhY2tEaXNhYmxlZCk6CisgICAgICAgIChXZWJLaXQ6Ok1lZGlhUGxheWVyUHJpdmF0
ZVJlbW90ZTo6Y3VycmVudFBsYXliYWNrVGFyZ2V0SXNXaXJlbGVzc0NoYW5nZWQpOgorICAgICAg
ICAoV2ViS2l0OjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnNldFNob3VsZFBsYXlUb1BsYXli
YWNrVGFyZ2V0KToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpr
ZXlBZGRlZCk6CisgICAgICAgIChXZWJLaXQ6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6d2Fp
dGluZ0ZvcktleUNoYW5nZWQpOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVBsYXllclByaXZhdGVS
ZW1vdGU6OmJlZ2luU2ltdWxhdGVkSERDUEVycm9yKToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFQ
bGF5ZXJQcml2YXRlUmVtb3RlOjplbmRTaW11bGF0ZWRIRENQRXJyb3IpOgorICAgICAgICAoV2Vi
S2l0OjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6Om5vdGlmeUFjdGl2ZVNvdXJjZUJ1ZmZlcnND
aGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjphcHBs
aWNhdGlvbldpbGxSZXNpZ25BY3RpdmUpOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVBsYXllclBy
aXZhdGVSZW1vdGU6OmFwcGxpY2F0aW9uRGlkQmVjb21lQWN0aXZlKToKKyAgICAgICAgKFdlYktp
dDo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpyZXNvdXJjZU5vdFN1cHBvcnRlZCk6CisgICAg
ICAgIChXZWJLaXQ6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6ZW5naW5lVXBkYXRlZCk6Cisg
ICAgICAgIChXZWJLaXQ6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6YWN0aXZlU291cmNlQnVm
ZmVyc0NoYW5nZWQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVy
UHJpdmF0ZVJlbW90ZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1l
ZGlhUGxheWVyTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVy
TWFuYWdlcjo6cmVzb3VyY2VOb3RTdXBwb3J0ZWQpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVN
ZWRpYVBsYXllck1hbmFnZXI6OmVuZ2luZVVwZGF0ZWQpOgorICAgICAgICAoV2ViS2l0OjpSZW1v
dGVNZWRpYVBsYXllck1hbmFnZXI6OmFjdGl2ZVNvdXJjZUJ1ZmZlcnNDaGFuZ2VkKToKKyAgICAg
ICAgKFdlYktpdDo6UmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyOjp3YWl0aW5nRm9yS2V5Q2hhbmdl
ZCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyTWFuYWdlcjo6Y3VycmVudFBs
YXliYWNrVGFyZ2V0SXNXaXJlbGVzc0NoYW5nZWQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BV
L21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlci5oOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
R1BVL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlci5tZXNzYWdlcy5pbjoKKwogMjAyMC0w
MS0xNyAgQ2F0aGllIENoZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CiAKICAgICAgICAgQWRk
IHN1cHBvcnQgZm9yIHNjcm9sbCBiZWhhdmlvciBwYXJzaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAppbmRleCAxODNkOGI1MDI1OTdmMWE1Yzlk
NDUyZjZjNDJlYzg4MWM2YzRlOWRjLi5iOGEyN2MxYTY1MWEyZjgxZDlkMzgwODY4YThhYjQzOWU0
NmQyZGY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRp
YVBsYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxh
eWVyLmgKQEAgLTYyMCw2ICs2MjAsNyBAQCBwdWJsaWM6CiAgICAgY29uc3QgU3RyaW5nJiBtZWRp
YUNhY2hlRGlyZWN0b3J5KCkgY29uc3QgeyByZXR1cm4gY2xpZW50KCkubWVkaWFQbGF5ZXJNZWRp
YUNhY2hlRGlyZWN0b3J5KCk7IH0KICAgICBib29sIGlzVmlkZW9QbGF5ZXIoKSBjb25zdCB7IHJl
dHVybiBjbGllbnQoKS5tZWRpYVBsYXllcklzVmlkZW8oKTsgfQogICAgIHZvaWQgbWVkaWFFbmdp
bmVVcGRhdGVkKCkgeyBjbGllbnQoKS5tZWRpYVBsYXllckVuZ2luZVVwZGF0ZWQoKTsgfQorICAg
IHZvaWQgcmVzb3VyY2VOb3RTdXBwb3J0ZWQoKSB7IGNsaWVudCgpLm1lZGlhUGxheWVyUmVzb3Vy
Y2VOb3RTdXBwb3J0ZWQoKTsgfQogICAgIGJvb2wgaXNMb29waW5nKCkgY29uc3QgeyByZXR1cm4g
Y2xpZW50KCkubWVkaWFQbGF5ZXJJc0xvb3BpbmcoKTsgfQogCiAgICAgdm9pZCByZW1vdGVFbmdp
bmVGYWlsZWRUb0xvYWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9t
ZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcAppbmRleCBhOGVlODU4YmI5M2ViNDgx
OGMwZmVmOTE3N2JkYTZmZGExODM3NmUzLi5lOGQ0Njc2YjFiNWViOTVhZDU4ZTQ1NjUzODc4OWIz
ODRlZjEwOTdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVt
b3RlTWVkaWFQbGF5ZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21l
ZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3BwCkBAIC00MTUsNyArNDE1LDcgQEAgdm9pZCBS
ZW1vdGVNZWRpYVBsYXllclByb3h5Ojp2aWRlb1RyYWNrU2V0U2VsZWN0ZWQoVHJhY2tQcml2YXRl
UmVtb3RlSWRlbnRpZmllcgogLy8gRklYTUU6IFVuaW1wbGVtZW50ZWQKIHZvaWQgUmVtb3RlTWVk
aWFQbGF5ZXJQcm94eTo6bWVkaWFQbGF5ZXJSZXNvdXJjZU5vdFN1cHBvcnRlZCgpCiB7Ci0gICAg
bm90SW1wbGVtZW50ZWQoKTsKKyAgICBtX3dlYlByb2Nlc3NDb25uZWN0aW9uLT5zZW5kKE1lc3Nh
Z2VzOjpSZW1vdGVNZWRpYVBsYXllck1hbmFnZXI6OlJlc291cmNlTm90U3VwcG9ydGVkKG1faWQp
LCAwKTsKIH0KIAogdm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXllclNpemVD
aGFuZ2VkKCkKQEAgLTQyNSw3ICs0MjUsNyBAQCB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6
Om1lZGlhUGxheWVyU2l6ZUNoYW5nZWQoKQogCiB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6
Om1lZGlhUGxheWVyRW5naW5lVXBkYXRlZCgpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAg
ICBtX3dlYlByb2Nlc3NDb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVBsYXll
ck1hbmFnZXI6OkVuZ2luZVVwZGF0ZWQobV9pZCksIDApOwogfQogCiB2b2lkIFJlbW90ZU1lZGlh
UGxheWVyUHJveHk6Om1lZGlhUGxheWVyRmlyc3RWaWRlb0ZyYW1lQXZhaWxhYmxlKCkKQEAgLTQ0
MSw3ICs0NDEsNyBAQCB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6Om1lZGlhUGxheWVyUmVu
ZGVyaW5nTW9kZUNoYW5nZWQoKQogCiB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6Om1lZGlh
UGxheWVyQWN0aXZlU291cmNlQnVmZmVyc0NoYW5nZWQoKQogewotICAgIG5vdEltcGxlbWVudGVk
KCk7CisgICAgbV93ZWJQcm9jZXNzQ29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6UmVtb3RlTWVk
aWFQbGF5ZXJNYW5hZ2VyOjpBY3RpdmVTb3VyY2VCdWZmZXJzQ2hhbmdlZChtX2lkKSwgMCk7CiB9
CiAKICNpZiBFTkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkKQEAgLTQ2NiwxMiArNDY2LDI1
IEBAIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bWVkaWFQbGF5ZXJJbml0aWFsaXphdGlv
bkRhdGFFbmNvdW50ZXJlZChjb25zdCBTdHJpCiAKIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94
eTo6bWVkaWFQbGF5ZXJXYWl0aW5nRm9yS2V5Q2hhbmdlZCgpCiB7Ci0gICAgbm90SW1wbGVtZW50
ZWQoKTsKKyAgICBtX3dlYlByb2Nlc3NDb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVN
ZWRpYVBsYXllck1hbmFnZXI6OldhaXRpbmdGb3JLZXlDaGFuZ2VkKG1faWQpLCAwKTsKIH0KICNl
bmRpZgogCiAjaWYgRU5BQkxFKFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkKLXZvaWQgUmVtb3Rl
TWVkaWFQbGF5ZXJQcm94eTo6bWVkaWFQbGF5ZXJDdXJyZW50UGxheWJhY2tUYXJnZXRJc1dpcmVs
ZXNzQ2hhbmdlZCgpIHsgfTsKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bWVkaWFQbGF5
ZXJDdXJyZW50UGxheWJhY2tUYXJnZXRJc1dpcmVsZXNzQ2hhbmdlZCgpCit7CisgICAgbV93ZWJQ
cm9jZXNzQ29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2Vy
OjpDdXJyZW50UGxheWJhY2tUYXJnZXRJc1dpcmVsZXNzQ2hhbmdlZChtX2lkKSwgMCk7Cit9CisK
K3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6c2V0V2lyZWxlc3NWaWRlb1BsYXliYWNrRGlz
YWJsZWQoYm9vbCBkaXNhYmxlZCkKK3sKKyAgICBtX3BsYXllci0+c2V0V2lyZWxlc3NWaWRlb1Bs
YXliYWNrRGlzYWJsZWQoZGlzYWJsZWQpOworfQorCit2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJv
eHk6OnNldFNob3VsZFBsYXlUb1BsYXliYWNrVGFyZ2V0KGJvb2wgc2hvdWxkUGxheSkKK3sKKyAg
ICBtX3BsYXllci0+c2V0U2hvdWxkUGxheVRvUGxheWJhY2tUYXJnZXQoc2hvdWxkUGxheSk7Cit9
CiAjZW5kaWYKIAogdm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXllckVudGVy
RnVsbHNjcmVlbigpCkBAIC02NDYsNiArNjU5LDM4IEBAIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQ
cm94eTo6c2VuZENhY2hlZFN0YXRlKCkKICAgICBtX2NhY2hlZFN0YXRlLmJ1ZmZlcmVkUmFuZ2Vz
LmNsZWFyKCk7CiB9CiAKKyNpZiBFTkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkKK3ZvaWQg
UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6a2V5QWRkZWQoKQoreworICAgIG1fcGxheWVyLT5rZXlB
ZGRlZCgpOworfQorI2VuZGlmCisKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6YmVnaW5T
aW11bGF0ZWRIRENQRXJyb3IoKQoreworICAgIG1fcGxheWVyLT5iZWdpblNpbXVsYXRlZEhEQ1BF
cnJvcigpOworfQorCit2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OmVuZFNpbXVsYXRlZEhE
Q1BFcnJvcigpCit7CisgICAgbV9wbGF5ZXItPmVuZFNpbXVsYXRlZEhEQ1BFcnJvcigpOworfQor
Cit2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6Om5vdGlmeUFjdGl2ZVNvdXJjZUJ1ZmZlcnND
aGFuZ2VkKCkKK3sKKyAgICBtX3dlYlByb2Nlc3NDb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpS
ZW1vdGVNZWRpYVBsYXllck1hbmFnZXI6OkFjdGl2ZVNvdXJjZUJ1ZmZlcnNDaGFuZ2VkKG1faWQp
LCAwKTsKK30KKwordm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjphcHBsaWNhdGlvbldpbGxS
ZXNpZ25BY3RpdmUoKQoreworICAgIG1fcGxheWVyLT5hcHBsaWNhdGlvbldpbGxSZXNpZ25BY3Rp
dmUoKTsKK30KKwordm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjphcHBsaWNhdGlvbkRpZEJl
Y29tZUFjdGl2ZSgpCit7CisgICAgbV9wbGF5ZXItPmFwcGxpY2F0aW9uRGlkQmVjb21lQWN0aXZl
KCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjdW5kZWYgTUVTU0FHRV9DSEVDS19D
T05URVhUSUQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1v
dGVNZWRpYVBsYXllclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVt
b3RlTWVkaWFQbGF5ZXJQcm94eS5oCmluZGV4IDViYTc4M2E5YTY5MDJhNzA4NjA1ZTVjNjY2ZjU4
ZTQyNTM1N2M3MjIuLmNhYTIwMDJiYTg2ZWMyMTRiMDI2ZjAyODdhMGVmZmE2NTllZDY0NTEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXll
clByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlh
UGxheWVyUHJveHkuaApAQCAtMTA2LDYgKzEwNiwyMyBAQCBwdWJsaWM6CiAgICAgdm9pZCBhdWRp
b1RyYWNrU2V0RW5hYmxlZChUcmFja1ByaXZhdGVSZW1vdGVJZGVudGlmaWVyLCBib29sKTsKICAg
ICB2b2lkIHZpZGVvVHJhY2tTZXRTZWxlY3RlZChUcmFja1ByaXZhdGVSZW1vdGVJZGVudGlmaWVy
LCBib29sKTsKIAorI2lmIEVOQUJMRShXSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpCisgICAgdm9p
ZCBzZXRXaXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZChib29sKTsKKyAgICB2b2lkIHNldFNo
b3VsZFBsYXlUb1BsYXliYWNrVGFyZ2V0KGJvb2wpOworI2VuZGlmCisKKyNpZiBFTkFCTEUoTEVH
QUNZX0VOQ1JZUFRFRF9NRURJQSkKKyAgICB2b2lkIGtleUFkZGVkKCk7CisjZW5kaWYKKworICAg
IHZvaWQgYmVnaW5TaW11bGF0ZWRIRENQRXJyb3IoKTsKKyAgICB2b2lkIGVuZFNpbXVsYXRlZEhE
Q1BFcnJvcigpOworCisgICAgdm9pZCBub3RpZnlBY3RpdmVTb3VyY2VCdWZmZXJzQ2hhbmdlZCgp
OworCisgICAgdm9pZCBhcHBsaWNhdGlvbldpbGxSZXNpZ25BY3RpdmUoKTsKKyAgICB2b2lkIGFw
cGxpY2F0aW9uRGlkQmVjb21lQWN0aXZlKCk7CisKICAgICBSZWY8V2ViQ29yZTo6UGxhdGZvcm1N
ZWRpYVJlc291cmNlPiByZXF1ZXN0UmVzb3VyY2UoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYs
IFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFSZXNvdXJjZUxvYWRlcjo6TG9hZE9wdGlvbnMpOwogICAg
IHZvaWQgcmVtb3ZlUmVzb3VyY2UoUmVtb3RlTWVkaWFSZXNvdXJjZUlkZW50aWZpZXIpOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5
ZXJQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1v
dGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IDM3YjcwNWY5MTI5ZTcxNWFiNWQ3
YWFhNDdkM2JkNWUyNjg5MzQ1M2QuLjM5NjA3MDdlNGI0ODhlODZhZDU1N2U1NGNkNjliMDZjNjI2
YzBmY2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVN
ZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluCkBAIC01NSw2ICs1NSwz
MiBAQCBtZXNzYWdlcyAtPiBSZW1vdGVNZWRpYVBsYXllclByb3h5IE5vdFJlZkNvdW50ZWQgewog
CiAgICAgQXVkaW9UcmFja1NldEVuYWJsZWQoV2ViS2l0OjpUcmFja1ByaXZhdGVSZW1vdGVJZGVu
dGlmaWVyIHRyYWNrSUQsIGJvb2wgZW5hYmxlZCkKICAgICBWaWRlb1RyYWNrU2V0U2VsZWN0ZWQo
V2ViS2l0OjpUcmFja1ByaXZhdGVSZW1vdGVJZGVudGlmaWVyIHRyYWNrSUQsIGJvb2wgZW5hYmxl
ZCkKKworICAgICMgUGFpbnQKKyAgICAjIFBhaW50Q3VycmVudEZyYW1lSW5Db250ZXh0CisKKyNp
ZiBFTkFCTEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKQorICAgIFNldFdpcmVsZXNzVmlkZW9Q
bGF5YmFja0Rpc2FibGVkKGJvb2wgZGlzYWJsZWQpCisgICAgIyBTZXRXaXJlbGVzc1BsYXliYWNr
VGFyZ2V0KFdlYkNvcmU6Ok1lZGlhUGxheWJhY2tUYXJnZXQpCisgICAgU2V0U2hvdWxkUGxheVRv
UGxheWJhY2tUYXJnZXQoYm9vbCBzaG91bGRQbGF5KQorI2VuZGlmCisKKyNpZiBFTkFCTEUoTEVH
QUNZX0VOQ1JZUFRFRF9NRURJQSkKKyAgICAjIFNldENETVNlc3Npb24KKyAgICBLZXlBZGRlZCgp
CisgICAgIyBDZG1JbnN0YW5jZUF0dGFjaGVkCisgICAgIyBDZG1JbnN0YW5jZURldGFjaGVkCisg
ICAgIyBBdHRlbXB0VG9EZWNyeXB0V2l0aEluc3RhbmNlCisjZW5kaWYKKworICAgIEJlZ2luU2lt
dWxhdGVkSERDUEVycm9yKCkKKyAgICBFbmRTaW11bGF0ZWRIRENQRXJyb3IoKQorCisgICAgTm90
aWZ5QWN0aXZlU291cmNlQnVmZmVyc0NoYW5nZWQoKQorCisgICAgQXBwbGljYXRpb25XaWxsUmVz
aWduQWN0aXZlKCkKKyAgICBBcHBsaWNhdGlvbkRpZEJlY29tZUFjdGl2ZSgpCisKIH0KIAogI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlh
UGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21l
ZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAKaW5kZXggYTFmOTY3ZDc3MWE1YmU0MjQ2
MmRmOGNlMjgwYzRkZDMxNTMxNTRjZS4uZmNjNjFjNTE4OWQ4MDI5YWMwY2QzMDA3ZDJjYmQ4MzE3
MjgyMGY5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9N
ZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcApAQCAtNjc0LDkgKzY3NCwx
NSBAQCBib29sIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6d2lyZWxlc3NWaWRlb1BsYXliYWNr
RGlzYWJsZWQoKSBjb25zdAogICAgIHJldHVybiB0cnVlOwogfQogCi12b2lkIE1lZGlhUGxheWVy
UHJpdmF0ZVJlbW90ZTo6c2V0V2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWQoYm9vbCkKK3Zv
aWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpzZXRXaXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNh
YmxlZChib29sIGRpc2FibGVkKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgY29ubmVj
dGlvbigpLnNlbmQoTWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6OlNldFdpcmVsZXNz
VmlkZW9QbGF5YmFja0Rpc2FibGVkKGRpc2FibGVkKSwgbV9pZCk7Cit9CisKK3ZvaWQgTWVkaWFQ
bGF5ZXJQcml2YXRlUmVtb3RlOjpjdXJyZW50UGxheWJhY2tUYXJnZXRJc1dpcmVsZXNzQ2hhbmdl
ZCgpCit7CisgICAgaWYgKG1fcGxheWVyKQorICAgICAgICBtX3BsYXllci0+Y3VycmVudFBsYXli
YWNrVGFyZ2V0SXNXaXJlbGVzc0NoYW5nZWQoKTsKIH0KIAogYm9vbCBNZWRpYVBsYXllclByaXZh
dGVSZW1vdGU6OmlzQ3VycmVudFBsYXliYWNrVGFyZ2V0V2lyZWxlc3MoKSBjb25zdApAQCAtNjkw
LDkgKzY5Niw5IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpzZXRXaXJlbGVzc1Bs
YXliYWNrVGFyZ2V0KFJlZjxNZWRpYVBsYXliYWNrVGFyZ2V0CiAgICAgbm90SW1wbGVtZW50ZWQo
KTsKIH0KIAotdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnNldFNob3VsZFBsYXlUb1Bs
YXliYWNrVGFyZ2V0KGJvb2wpCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6c2V0U2hv
dWxkUGxheVRvUGxheWJhY2tUYXJnZXQoYm9vbCBzaG91bGRQbGF5KQogewotICAgIG5vdEltcGxl
bWVudGVkKCk7CisgICAgY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxh
eWVyUHJveHk6OlNldFNob3VsZFBsYXlUb1BsYXliYWNrVGFyZ2V0KHNob3VsZFBsYXkpLCBtX2lk
KTsKIH0KICNlbmRpZgogCkBAIC03ODUsNyArNzkxLDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZh
dGVSZW1vdGU6OnNldENETVNlc3Npb24oTGVnYWN5Q0RNU2Vzc2lvbiopCiAKIHZvaWQgTWVkaWFQ
bGF5ZXJQcml2YXRlUmVtb3RlOjprZXlBZGRlZCgpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsK
KyAgICBjb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6
S2V5QWRkZWQoKSwgbV9pZCk7CiB9CiAjZW5kaWYKIApAQCAtODA1LDYgKzgxMSwxMiBAQCB2b2lk
IE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6YXR0ZW1wdFRvRGVjcnlwdFdpdGhJbnN0YW5jZShD
RE1JbnN0YW5jZSYpCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAordm9pZCBNZWRpYVBsYXll
clByaXZhdGVSZW1vdGU6OndhaXRpbmdGb3JLZXlDaGFuZ2VkKCkKK3sKKyAgICBpZiAobV9wbGF5
ZXIpCisgICAgICAgIG1fcGxheWVyLT53YWl0aW5nRm9yS2V5Q2hhbmdlZCgpOworfQorCiBib29s
IE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6d2FpdGluZ0ZvcktleSgpIGNvbnN0CiB7CiAgICAg
bm90SW1wbGVtZW50ZWQoKTsKQEAgLTg0NCwxMiArODU2LDEyIEBAIHZvaWQgTWVkaWFQbGF5ZXJQ
cml2YXRlUmVtb3RlOjpzaW11bGF0ZUF1ZGlvSW50ZXJydXB0aW9uKCkKIAogdm9pZCBNZWRpYVBs
YXllclByaXZhdGVSZW1vdGU6OmJlZ2luU2ltdWxhdGVkSERDUEVycm9yKCkKIHsKLSAgICBub3RJ
bXBsZW1lbnRlZCgpOworICAgIGNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVNZWRp
YVBsYXllclByb3h5OjpCZWdpblNpbXVsYXRlZEhEQ1BFcnJvcigpLCBtX2lkKTsKIH0KIAogdm9p
ZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OmVuZFNpbXVsYXRlZEhEQ1BFcnJvcigpCiB7Ci0g
ICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBjb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6UmVt
b3RlTWVkaWFQbGF5ZXJQcm94eTo6RW5kU2ltdWxhdGVkSERDUEVycm9yKCksIG1faWQpOwogfQog
CiBTdHJpbmcgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpsYW5ndWFnZU9mUHJpbWFyeUF1ZGlv
VHJhY2soKSBjb25zdApAQCAtODkxLDE3ICs5MDMsMTcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZh
dGVSZW1vdGU6Om5vdGlmeVRyYWNrTW9kZUNoYW5nZWQoKQogCiB2b2lkIE1lZGlhUGxheWVyUHJp
dmF0ZVJlbW90ZTo6bm90aWZ5QWN0aXZlU291cmNlQnVmZmVyc0NoYW5nZWQoKQogewotICAgIG5v
dEltcGxlbWVudGVkKCk7CisgICAgY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OlJlbW90ZU1l
ZGlhUGxheWVyUHJveHk6Ok5vdGlmeUFjdGl2ZVNvdXJjZUJ1ZmZlcnNDaGFuZ2VkKCksIG1faWQp
OwogfQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6YXBwbGljYXRpb25XaWxsUmVz
aWduQWN0aXZlKCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIGNvbm5lY3Rpb24oKS5z
ZW5kKE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjpBcHBsaWNhdGlvbldpbGxSZXNp
Z25BY3RpdmUoKSwgbV9pZCk7CiB9CiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjph
cHBsaWNhdGlvbkRpZEJlY29tZUFjdGl2ZSgpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAg
ICBjb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6QXBw
bGljYXRpb25EaWRCZWNvbWVBY3RpdmUoKSwgbV9pZCk7CiB9CiAKIGJvb2wgTWVkaWFQbGF5ZXJQ
cml2YXRlUmVtb3RlOjpwZXJmb3JtVGFza0F0TWVkaWFUaW1lKFdURjo6RnVuY3Rpb248dm9pZCgp
PiYmLCBNZWRpYVRpbWUpCkBAIC05MjUsNiArOTM3LDI0IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2
YXRlUmVtb3RlOjpyZW1vdmVSZXNvdXJjZShSZW1vdGVNZWRpYVJlc291cmNlSWRlbnRpZmllciBy
ZW1vCiAgICAgbV9tZWRpYVJlc291cmNlcy5yZW1vdmUocmVtb3RlTWVkaWFSZXNvdXJjZUlkZW50
aWZpZXIpOwogfQogCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6cmVzb3VyY2VOb3RT
dXBwb3J0ZWQoKQoreworICAgIGlmIChtX3BsYXllcikKKyAgICAgICAgbV9wbGF5ZXItPnJlc291
cmNlTm90U3VwcG9ydGVkKCk7Cit9CisKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpl
bmdpbmVVcGRhdGVkKCkKK3sKKyAgICBpZiAobV9wbGF5ZXIpCisgICAgICAgIG1fcGxheWVyLT5t
ZWRpYUVuZ2luZVVwZGF0ZWQoKTsKK30KKwordm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6
OmFjdGl2ZVNvdXJjZUJ1ZmZlcnNDaGFuZ2VkKCkKK3sKKyAgICBpZiAobV9wbGF5ZXIpCisgICAg
ICAgIG1fcGxheWVyLT5hY3RpdmVTb3VyY2VCdWZmZXJzQ2hhbmdlZCgpOworfQorCiAjaWYgIVJF
TEVBU0VfTE9HX0RJU0FCTEVECiBXVEZMb2dDaGFubmVsJiBNZWRpYVBsYXllclByaXZhdGVSZW1v
dGU6OmxvZ0NoYW5uZWwoKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuaCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmgKaW5kZXgg
M2M5NzJlMTMyZmMzYWZkZGYyYTg1YzZkMjViYTNkZWYxMzZhYmQ3Yi4uMzdkNjc3N2I3YjI3NzQw
MGExYTliMGE4ZDI4MWVmODEzNTNkZmM1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5oCkBA
IC05MCw2ICs5MCwxOSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHJlcXVlc3RSZXNvdXJjZShSZW1v
dGVNZWRpYVJlc291cmNlSWRlbnRpZmllciwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYsIFdl
YkNvcmU6OlBsYXRmb3JtTWVkaWFSZXNvdXJjZUxvYWRlcjo6TG9hZE9wdGlvbnMpOwogICAgIHZv
aWQgcmVtb3ZlUmVzb3VyY2UoUmVtb3RlTWVkaWFSZXNvdXJjZUlkZW50aWZpZXIpOworICAgIHZv
aWQgcmVzb3VyY2VOb3RTdXBwb3J0ZWQoKTsKKworICAgIHZvaWQgZW5naW5lVXBkYXRlZCgpOwor
CisgICAgdm9pZCBhY3RpdmVTb3VyY2VCdWZmZXJzQ2hhbmdlZCgpOworCisjaWYgRU5BQkxFKEVO
Q1JZUFRFRF9NRURJQSkKKyAgICB2b2lkIHdhaXRpbmdGb3JLZXlDaGFuZ2VkKCk7CisjZW5kaWYK
KworI2lmIEVOQUJMRShXSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpCisgICAgdm9pZCBjdXJyZW50
UGxheWJhY2tUYXJnZXRJc1dpcmVsZXNzQ2hhbmdlZCgpOworI2VuZGlmCiAKICNpZiAhUkVMRUFT
RV9MT0dfRElTQUJMRUQKICAgICBjb25zdCBMb2dnZXImIGxvZ2dlcigpIGNvbnN0IGZpbmFsIHsg
cmV0dXJuICptX2xvZ2dlcjsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXIuY3BwCmluZGV4IDU0
N2Q0NWYyYWVmNzljZGFiOWQyZTM0ZWZjOTJlMGRjNzY3MDAwMWMuLmMyNzkxMjlkYzM5MzY3YTZj
NzE3YTc5NmQyZjkxMjljNjg3ZTdkN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlci5jcHAK
QEAgLTM2MSw2ICszNjEsNDAgQEAgdm9pZCBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXI6OnJlbW92
ZVJlc291cmNlKE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIKICAgICAgICAgcGxh
eWVyLT5yZW1vdmVSZXNvdXJjZShyZW1vdGVNZWRpYVJlc291cmNlSWRlbnRpZmllcik7CiB9CiAK
K3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyOjpyZXNvdXJjZU5vdFN1cHBvcnRlZChNZWRp
YVBsYXllclByaXZhdGVSZW1vdGVJZGVudGlmaWVyIGlkKQoreworICAgIGlmIChjb25zdCBhdXRv
JiBwbGF5ZXIgPSBtX3BsYXllcnMuZ2V0KGlkKSkKKyAgICAgICAgcGxheWVyLT5yZXNvdXJjZU5v
dFN1cHBvcnRlZCgpOworfQorCit2b2lkIFJlbW90ZU1lZGlhUGxheWVyTWFuYWdlcjo6ZW5naW5l
VXBkYXRlZChNZWRpYVBsYXllclByaXZhdGVSZW1vdGVJZGVudGlmaWVyIGlkKQoreworICAgIGlm
IChjb25zdCBhdXRvJiBwbGF5ZXIgPSBtX3BsYXllcnMuZ2V0KGlkKSkKKyAgICAgICAgcGxheWVy
LT5lbmdpbmVVcGRhdGVkKCk7Cit9CisKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyOjph
Y3RpdmVTb3VyY2VCdWZmZXJzQ2hhbmdlZChNZWRpYVBsYXllclByaXZhdGVSZW1vdGVJZGVudGlm
aWVyIGlkKQoreworICAgIGlmIChjb25zdCBhdXRvJiBwbGF5ZXIgPSBtX3BsYXllcnMuZ2V0KGlk
KSkKKyAgICAgICAgcGxheWVyLT5hY3RpdmVTb3VyY2VCdWZmZXJzQ2hhbmdlZCgpOworfQorCisj
aWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2Vy
Ojp3YWl0aW5nRm9yS2V5Q2hhbmdlZChNZWRpYVBsYXllclByaXZhdGVSZW1vdGVJZGVudGlmaWVy
IGlkKQoreworICAgIGlmIChjb25zdCBhdXRvJiBwbGF5ZXIgPSBtX3BsYXllcnMuZ2V0KGlkKSkK
KyAgICAgICAgcGxheWVyLT53YWl0aW5nRm9yS2V5Q2hhbmdlZCgpOworfQorI2VuZGlmCisKKyNp
ZiBFTkFCTEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKQordm9pZCBSZW1vdGVNZWRpYVBsYXll
ck1hbmFnZXI6OmN1cnJlbnRQbGF5YmFja1RhcmdldElzV2lyZWxlc3NDaGFuZ2VkKE1lZGlhUGxh
eWVyUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIgaWQpCit7CisgICAgaWYgKGNvbnN0IGF1dG8mIHBs
YXllciA9IG1fcGxheWVycy5nZXQoaWQpKQorICAgICAgICBwbGF5ZXItPmN1cnJlbnRQbGF5YmFj
a1RhcmdldElzV2lyZWxlc3NDaGFuZ2VkKCk7Cit9CisjZW5kaWYKKwogdm9pZCBSZW1vdGVNZWRp
YVBsYXllck1hbmFnZXI6OnVwZGF0ZVByZWZlcmVuY2VzKGNvbnN0IFNldHRpbmdzJiBzZXR0aW5n
cykKIHsKICAgICBhdXRvIHJlZ2lzdGVyRW5naW5lID0gW3RoaXNdKE1lZGlhRW5naW5lUmVnaXN0
cmFyIHJlZ2lzdHJhciwgTWVkaWFQbGF5ZXJFbnVtczo6TWVkaWFFbmdpbmVJZGVudGlmaWVyIHJl
bW90ZUVuZ2luZUlkZW50aWZpZXIpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlci5oCmluZGV4IDgx
NzYzNGZlMDYwNDBlMTIzNmM5N2YxMDI5N2M4MjI4MzM4NjVjODguLjI0MDVhNDE2YmQwZDMzZDI2
ODViNzlkOGViOWFlOTk2ZGEyMjU2MWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXIuaApAQCAt
MTAxLDYgKzEwMSwxOSBAQCBwcml2YXRlOgogCiAgICAgdm9pZCByZXF1ZXN0UmVzb3VyY2UoTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlSWRlbnRpZmllciwgUmVtb3RlTWVkaWFSZXNvdXJjZUlkZW50
aWZpZXIsIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYmLCBXZWJDb3JlOjpQbGF0Zm9ybU1lZGlh
UmVzb3VyY2VMb2FkZXI6OkxvYWRPcHRpb25zLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYp
OwogICAgIHZvaWQgcmVtb3ZlUmVzb3VyY2UoTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlSWRlbnRp
ZmllciwgUmVtb3RlTWVkaWFSZXNvdXJjZUlkZW50aWZpZXIpOworICAgIHZvaWQgcmVzb3VyY2VO
b3RTdXBwb3J0ZWQoTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlSWRlbnRpZmllcik7CisKKyAgICB2
b2lkIGVuZ2luZVVwZGF0ZWQoTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlSWRlbnRpZmllcik7CisK
KyAgICB2b2lkIGFjdGl2ZVNvdXJjZUJ1ZmZlcnNDaGFuZ2VkKE1lZGlhUGxheWVyUHJpdmF0ZVJl
bW90ZUlkZW50aWZpZXIpOworCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKyAgICB2b2lk
IHdhaXRpbmdGb3JLZXlDaGFuZ2VkKE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIp
OworI2VuZGlmCisKKyNpZiBFTkFCTEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKQorICAgIHZv
aWQgY3VycmVudFBsYXliYWNrVGFyZ2V0SXNXaXJlbGVzc0NoYW5nZWQoTWVkaWFQbGF5ZXJQcml2
YXRlUmVtb3RlSWRlbnRpZmllcik7CisjZW5kaWYKIAogICAgIGZyaWVuZCBjbGFzcyBNZWRpYVBs
YXllclJlbW90ZUZhY3Rvcnk7CiAgICAgdm9pZCBnZXRTdXBwb3J0ZWRUeXBlcyhXZWJDb3JlOjpN
ZWRpYVBsYXllckVudW1zOjpNZWRpYUVuZ2luZUlkZW50aWZpZXIsIEhhc2hTZXQ8U3RyaW5nLCBB
U0NJSUNhc2VJbnNlbnNpdGl2ZUhhc2g+Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlci5tZXNzYWdlcy5pbiBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5h
Z2VyLm1lc3NhZ2VzLmluCmluZGV4IDM3YzY4NDVlYjQ0ZDEwNDg2OGM0OTNmOTY3MWExMDcxMGVi
OTkyMDUuLjRkYTc3YWI4NzFhZjNmY2Q0MmQ5NGI5OGI3MWIyNzdjYTUwNWE0MTIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJN
YW5hZ2VyLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVk
aWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyLm1lc3NhZ2VzLmluCkBAIC00OCw2ICs0OCwxOSBA
QCBtZXNzYWdlcyAtPiBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXIgTm90UmVmQ291bnRlZCB7CiAK
ICAgICBSZXF1ZXN0UmVzb3VyY2UoV2ViS2l0OjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGVJZGVu
dGlmaWVyIG1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIsIFdlYktpdDo6UmVtb3Rl
TWVkaWFSZXNvdXJjZUlkZW50aWZpZXIgcmVtb3RlTWVkaWFSZXNvdXJjZUlkZW50aWZpZXIsIFdl
YkNvcmU6OlJlc291cmNlUmVxdWVzdCByZXF1ZXN0LCBlbnVtOnVpbnQ4X3QgV2ViQ29yZTo6UGxh
dGZvcm1NZWRpYVJlc291cmNlTG9hZGVyOjpMb2FkT3B0aW9ucyBvcHRpb25zKSAtPiAoKSBBc3lu
YwogICAgIFJlbW92ZVJlc291cmNlKFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlSWRl
bnRpZmllciBtZWRpYVBsYXllclByaXZhdGVSZW1vdGVJZGVudGlmaWVyLCBXZWJLaXQ6OlJlbW90
ZU1lZGlhUmVzb3VyY2VJZGVudGlmaWVyIHJlbW90ZU1lZGlhUmVzb3VyY2VJZGVudGlmaWVyKQor
ICAgIFJlc291cmNlTm90U3VwcG9ydGVkKFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3Rl
SWRlbnRpZmllciBwbGF5ZXJJRCkKKworICAgIEVuZ2luZVVwZGF0ZWQoV2ViS2l0OjpNZWRpYVBs
YXllclByaXZhdGVSZW1vdGVJZGVudGlmaWVyIHBsYXllcklEKQorCisgICAgQWN0aXZlU291cmNl
QnVmZmVyc0NoYW5nZWQoV2ViS2l0OjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGVJZGVudGlmaWVy
IHBsYXllcklEKQorCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKyAgICBXYWl0aW5nRm9y
S2V5Q2hhbmdlZChXZWJLaXQ6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIgcGxh
eWVySUQpCisjZW5kaWYKKworI2lmIEVOQUJMRShXSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpCisg
ICAgQ3VycmVudFBsYXliYWNrVGFyZ2V0SXNXaXJlbGVzc0NoYW5nZWQoV2ViS2l0OjpNZWRpYVBs
YXllclByaXZhdGVSZW1vdGVJZGVudGlmaWVyIHBsYXllcklEKQorI2VuZGlmCiB9CiAKICNlbmRp
Zgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388162</attachid>
            <date>2020-01-18 16:50:30 -0800</date>
            <delta_ts>2020-01-22 15:13:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206468-20200118165030.patch</filename>
            <type>text/plain</type>
            <size>20805</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0NzkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjQ1YTcxNDBjNTY3YWQ3
ZThmYTRiMmYzYzdlN2VjYzE5ODkyNzBlMS4uYTQ3YjQzNjUwMzFkNzQyOWVjMTk2ZTBiNDUwM2M0
MGRiMmJkY2I0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIwLTAxLTE4ICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBbTWVkaWEgaW4gR1BVIHByb2Nlc3Nd
IFBpcGUgbW9yZSBNZWRpYVBsYXllclByaXZhdGUgYW5kIGNsaWVudCBtZXRob2RzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDY0NjgKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL01lZGlhUGxheWVyLmg6IEFkZCByZXNvdXJjZU5vdFN1cHBvcnRlZCgpIHRvIGNhbGwgdXAg
dG8gdGhlIGNsaWVudC4KKwogMjAyMC0wMS0xNyAgQ2F0aGllIENoZW4gIDxjYXRoaWVjaGVuQGln
YWxpYS5jb20+CiAKICAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHNjcm9sbCBiZWhhdmlvciBwYXJz
aW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCmluZGV4IDNlZDhjMjkyMGZmMGY1MTVlYjgyYWVmY2FiNGZmMGM0MzdkMDZmYzQu
LmEwNjE4Njc5YzNkY2U1MjBlNjQ2YWVhYWNkZGZjM2EyYWE0NDE5M2QgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsNTQgQEAKKzIwMjAtMDEtMTggIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgorCisg
ICAgICAgIFtNZWRpYSBpbiBHUFUgcHJvY2Vzc10gUGlwZSBtb3JlIE1lZGlhUGxheWVyUHJpdmF0
ZSBhbmQgY2xpZW50IG1ldGhvZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwNjQ2OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFBpcGUgbW9yZSBvZiB0aGUgbWVkaWEgcGxheWVyIGFuZCBjbGllbnQgZnVu
Y3Rpb25zLiBUaGVzZSBhcmUgdm9pZCBmdW5jdGlvbnMgdGhhdCByZXF1aXJlIG5vIHBhcmFtZXRl
cnMuCisKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHku
Y3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXll
clJlc291cmNlTm90U3VwcG9ydGVkKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFQbGF5
ZXJQcm94eTo6bWVkaWFQbGF5ZXJFbmdpbmVVcGRhdGVkKToKKyAgICAgICAgKFdlYktpdDo6UmVt
b3RlTWVkaWFQbGF5ZXJQcm94eTo6bWVkaWFQbGF5ZXJBY3RpdmVTb3VyY2VCdWZmZXJzQ2hhbmdl
ZCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6Om1lZGlhUGxheWVy
V2FpdGluZ0ZvcktleUNoYW5nZWQpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXll
clByb3h5OjptZWRpYVBsYXllckN1cnJlbnRQbGF5YmFja1RhcmdldElzV2lyZWxlc3NDaGFuZ2Vk
KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6c2V0V2lyZWxlc3NW
aWRlb1BsYXliYWNrRGlzYWJsZWQpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXll
clByb3h5OjpzZXRTaG91bGRQbGF5VG9QbGF5YmFja1RhcmdldCk6CisgICAgICAgIChXZWJLaXQ6
OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6OmtleUFkZGVkKToKKyAgICAgICAgKFdlYktpdDo6UmVt
b3RlTWVkaWFQbGF5ZXJQcm94eTo6YmVnaW5TaW11bGF0ZWRIRENQRXJyb3IpOgorICAgICAgICAo
V2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjplbmRTaW11bGF0ZWRIRENQRXJyb3IpOgor
ICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllclByb3h5Ojpub3RpZnlBY3RpdmVTb3Vy
Y2VCdWZmZXJzQ2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyUHJv
eHk6OmFwcGxpY2F0aW9uV2lsbFJlc2lnbkFjdGl2ZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90
ZU1lZGlhUGxheWVyUHJveHk6OmFwcGxpY2F0aW9uRGlkQmVjb21lQWN0aXZlKToKKyAgICAgICAg
KiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuaDoKKyAgICAgICAgKiBH
UFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkubWVzc2FnZXMuaW46CisgICAg
ICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpjdXJyZW50UGxheWJh
Y2tUYXJnZXRJc1dpcmVsZXNzQ2hhbmdlZCk6IENhY2hlIHZhbHVlIGluIG5ldyBtZW1iZXIgdmFy
aWFibGUuCisgICAgICAgIChXZWJLaXQ6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6aXNDdXJy
ZW50UGxheWJhY2tUYXJnZXRXaXJlbGVzcyBjb25zdCk6IFJldHVybiB2YWx1ZS4KKyAgICAgICAg
KFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpzZXRXaXJlbGVzc1ZpZGVvUGxheWJh
Y2tEaXNhYmxlZCk6CisgICAgICAgIChXZWJLaXQ6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6
Y3VycmVudFBsYXliYWNrVGFyZ2V0SXNXaXJlbGVzc0NoYW5nZWQpOgorICAgICAgICAoV2ViS2l0
OjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnNldFNob3VsZFBsYXlUb1BsYXliYWNrVGFyZ2V0
KToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjprZXlBZGRlZCk6
CisgICAgICAgIChXZWJLaXQ6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6d2FpdGluZ0Zvcktl
eUNoYW5nZWQpOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OmJl
Z2luU2ltdWxhdGVkSERDUEVycm9yKToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2
YXRlUmVtb3RlOjplbmRTaW11bGF0ZWRIRENQRXJyb3IpOgorICAgICAgICAoV2ViS2l0OjpNZWRp
YVBsYXllclByaXZhdGVSZW1vdGU6Om5vdGlmeUFjdGl2ZVNvdXJjZUJ1ZmZlcnNDaGFuZ2VkKToK
KyAgICAgICAgKFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjphcHBsaWNhdGlvbldp
bGxSZXNpZ25BY3RpdmUpOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVBsYXllclByaXZhdGVSZW1v
dGU6OmFwcGxpY2F0aW9uRGlkQmVjb21lQWN0aXZlKToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFQ
bGF5ZXJQcml2YXRlUmVtb3RlOjpyZXNvdXJjZU5vdFN1cHBvcnRlZCk6CisgICAgICAgIChXZWJL
aXQ6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6ZW5naW5lVXBkYXRlZCk6CisgICAgICAgIChX
ZWJLaXQ6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6YWN0aXZlU291cmNlQnVmZmVyc0NoYW5n
ZWQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJl
bW90ZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhUGxheWVy
TWFuYWdlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyTWFuYWdlcjo6
cmVzb3VyY2VOb3RTdXBwb3J0ZWQpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXll
ck1hbmFnZXI6OmVuZ2luZVVwZGF0ZWQpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBs
YXllck1hbmFnZXI6OmFjdGl2ZVNvdXJjZUJ1ZmZlcnNDaGFuZ2VkKToKKyAgICAgICAgKFdlYktp
dDo6UmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyOjp3YWl0aW5nRm9yS2V5Q2hhbmdlZCk6CisgICAg
ICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyTWFuYWdlcjo6Y3VycmVudFBsYXliYWNrVGFy
Z2V0SXNXaXJlbGVzc0NoYW5nZWQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL1Jl
bW90ZU1lZGlhUGxheWVyTWFuYWdlci5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlh
L1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlci5tZXNzYWdlcy5pbjoKKwogMjAyMC0wMS0xNyAgQ2F0
aGllIENoZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CiAKICAgICAgICAgQWRkIHN1cHBvcnQg
Zm9yIHNjcm9sbCBiZWhhdmlvciBwYXJzaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAppbmRleCAxODNkOGI1MDI1OTdmMWE1YzlkNDUyZjZjNDJl
Yzg4MWM2YzRlOWRjLi5iOGEyN2MxYTY1MWEyZjgxZDlkMzgwODY4YThhYjQzOWU0NmQyZGY0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKQEAg
LTYyMCw2ICs2MjAsNyBAQCBwdWJsaWM6CiAgICAgY29uc3QgU3RyaW5nJiBtZWRpYUNhY2hlRGly
ZWN0b3J5KCkgY29uc3QgeyByZXR1cm4gY2xpZW50KCkubWVkaWFQbGF5ZXJNZWRpYUNhY2hlRGly
ZWN0b3J5KCk7IH0KICAgICBib29sIGlzVmlkZW9QbGF5ZXIoKSBjb25zdCB7IHJldHVybiBjbGll
bnQoKS5tZWRpYVBsYXllcklzVmlkZW8oKTsgfQogICAgIHZvaWQgbWVkaWFFbmdpbmVVcGRhdGVk
KCkgeyBjbGllbnQoKS5tZWRpYVBsYXllckVuZ2luZVVwZGF0ZWQoKTsgfQorICAgIHZvaWQgcmVz
b3VyY2VOb3RTdXBwb3J0ZWQoKSB7IGNsaWVudCgpLm1lZGlhUGxheWVyUmVzb3VyY2VOb3RTdXBw
b3J0ZWQoKTsgfQogICAgIGJvb2wgaXNMb29waW5nKCkgY29uc3QgeyByZXR1cm4gY2xpZW50KCku
bWVkaWFQbGF5ZXJJc0xvb3BpbmcoKTsgfQogCiAgICAgdm9pZCByZW1vdGVFbmdpbmVGYWlsZWRU
b0xvYWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1v
dGVNZWRpYVBsYXllclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9S
ZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcAppbmRleCBhOGVlODU4YmI5M2ViNDgxOGMwZmVmOTE3
N2JkYTZmZGExODM3NmUzLi45Mjg0MjI2OGRlMWFiMGUzZWNkNmUzOTM0NDAwMWEwODMzNDQ2MGNm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQ
bGF5ZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90
ZU1lZGlhUGxheWVyUHJveHkuY3BwCkBAIC00MTUsNyArNDE1LDcgQEAgdm9pZCBSZW1vdGVNZWRp
YVBsYXllclByb3h5Ojp2aWRlb1RyYWNrU2V0U2VsZWN0ZWQoVHJhY2tQcml2YXRlUmVtb3RlSWRl
bnRpZmllcgogLy8gRklYTUU6IFVuaW1wbGVtZW50ZWQKIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQ
cm94eTo6bWVkaWFQbGF5ZXJSZXNvdXJjZU5vdFN1cHBvcnRlZCgpCiB7Ci0gICAgbm90SW1wbGVt
ZW50ZWQoKTsKKyAgICBtX3dlYlByb2Nlc3NDb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpSZW1v
dGVNZWRpYVBsYXllck1hbmFnZXI6OlJlc291cmNlTm90U3VwcG9ydGVkKG1faWQpLCAwKTsKIH0K
IAogdm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXllclNpemVDaGFuZ2VkKCkK
QEAgLTQyNSw3ICs0MjUsNyBAQCB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6Om1lZGlhUGxh
eWVyU2l6ZUNoYW5nZWQoKQogCiB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6Om1lZGlhUGxh
eWVyRW5naW5lVXBkYXRlZCgpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBtX3dlYlBy
b2Nlc3NDb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVBsYXllck1hbmFnZXI6
OkVuZ2luZVVwZGF0ZWQobV9pZCksIDApOwogfQogCiB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJv
eHk6Om1lZGlhUGxheWVyRmlyc3RWaWRlb0ZyYW1lQXZhaWxhYmxlKCkKQEAgLTQ0MSw3ICs0NDEs
NyBAQCB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6Om1lZGlhUGxheWVyUmVuZGVyaW5nTW9k
ZUNoYW5nZWQoKQogCiB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6Om1lZGlhUGxheWVyQWN0
aXZlU291cmNlQnVmZmVyc0NoYW5nZWQoKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAg
bV93ZWJQcm9jZXNzQ29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJN
YW5hZ2VyOjpBY3RpdmVTb3VyY2VCdWZmZXJzQ2hhbmdlZChtX2lkKSwgMCk7CiB9CiAKICNpZiBF
TkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkKQEAgLTQ2NiwxMiArNDY2LDI2IEBAIHZvaWQg
UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bWVkaWFQbGF5ZXJJbml0aWFsaXphdGlvbkRhdGFFbmNv
dW50ZXJlZChjb25zdCBTdHJpCiAKIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bWVkaWFQ
bGF5ZXJXYWl0aW5nRm9yS2V5Q2hhbmdlZCgpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAg
ICBtX3dlYlByb2Nlc3NDb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVBsYXll
ck1hbmFnZXI6OldhaXRpbmdGb3JLZXlDaGFuZ2VkKG1faWQpLCAwKTsKIH0KICNlbmRpZgogCiAj
aWYgRU5BQkxFKFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkKLXZvaWQgUmVtb3RlTWVkaWFQbGF5
ZXJQcm94eTo6bWVkaWFQbGF5ZXJDdXJyZW50UGxheWJhY2tUYXJnZXRJc1dpcmVsZXNzQ2hhbmdl
ZCgpIHsgfTsKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bWVkaWFQbGF5ZXJDdXJyZW50
UGxheWJhY2tUYXJnZXRJc1dpcmVsZXNzQ2hhbmdlZCgpCit7CisgICAgYm9vbCBpc1dpcmVsZXNz
VGFyZ2V0ID0gbV9wbGF5ZXItPmlzQ3VycmVudFBsYXliYWNrVGFyZ2V0V2lyZWxlc3MoKTsKKyAg
ICBtX3dlYlByb2Nlc3NDb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVBsYXll
ck1hbmFnZXI6OkN1cnJlbnRQbGF5YmFja1RhcmdldElzV2lyZWxlc3NDaGFuZ2VkKG1faWQsIGlz
V2lyZWxlc3NUYXJnZXQpLCAwKTsKK30KKwordm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5Ojpz
ZXRXaXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZChib29sIGRpc2FibGVkKQoreworICAgIG1f
cGxheWVyLT5zZXRXaXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZChkaXNhYmxlZCk7Cit9CisK
K3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6c2V0U2hvdWxkUGxheVRvUGxheWJhY2tUYXJn
ZXQoYm9vbCBzaG91bGRQbGF5KQoreworICAgIG1fcGxheWVyLT5zZXRTaG91bGRQbGF5VG9QbGF5
YmFja1RhcmdldChzaG91bGRQbGF5KTsKK30KICNlbmRpZgogCiB2b2lkIFJlbW90ZU1lZGlhUGxh
eWVyUHJveHk6Om1lZGlhUGxheWVyRW50ZXJGdWxsc2NyZWVuKCkKQEAgLTY0Niw2ICs2NjAsMzgg
QEAgdm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjpzZW5kQ2FjaGVkU3RhdGUoKQogICAgIG1f
Y2FjaGVkU3RhdGUuYnVmZmVyZWRSYW5nZXMuY2xlYXIoKTsKIH0KIAorI2lmIEVOQUJMRShMRUdB
Q1lfRU5DUllQVEVEX01FRElBKQordm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjprZXlBZGRl
ZCgpCit7CisgICAgbV9wbGF5ZXItPmtleUFkZGVkKCk7Cit9CisjZW5kaWYKKwordm9pZCBSZW1v
dGVNZWRpYVBsYXllclByb3h5OjpiZWdpblNpbXVsYXRlZEhEQ1BFcnJvcigpCit7CisgICAgbV9w
bGF5ZXItPmJlZ2luU2ltdWxhdGVkSERDUEVycm9yKCk7Cit9CisKK3ZvaWQgUmVtb3RlTWVkaWFQ
bGF5ZXJQcm94eTo6ZW5kU2ltdWxhdGVkSERDUEVycm9yKCkKK3sKKyAgICBtX3BsYXllci0+ZW5k
U2ltdWxhdGVkSERDUEVycm9yKCk7Cit9CisKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6
bm90aWZ5QWN0aXZlU291cmNlQnVmZmVyc0NoYW5nZWQoKQoreworICAgIG1fd2ViUHJvY2Vzc0Nv
bm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxheWVyTWFuYWdlcjo6QWN0aXZl
U291cmNlQnVmZmVyc0NoYW5nZWQobV9pZCksIDApOworfQorCit2b2lkIFJlbW90ZU1lZGlhUGxh
eWVyUHJveHk6OmFwcGxpY2F0aW9uV2lsbFJlc2lnbkFjdGl2ZSgpCit7CisgICAgbV9wbGF5ZXIt
PmFwcGxpY2F0aW9uV2lsbFJlc2lnbkFjdGl2ZSgpOworfQorCit2b2lkIFJlbW90ZU1lZGlhUGxh
eWVyUHJveHk6OmFwcGxpY2F0aW9uRGlkQmVjb21lQWN0aXZlKCkKK3sKKyAgICBtX3BsYXllci0+
YXBwbGljYXRpb25EaWRCZWNvbWVBY3RpdmUoKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CiAKICN1bmRlZiBNRVNTQUdFX0NIRUNLX0NPTlRFWFRJRApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuaCBiL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmgKaW5kZXggNWJh
NzgzYTlhNjkwMmE3MDg2MDVlNWM2NjZmNThlNDI1MzU3YzcyMi4uY2FhMjAwMmJhODZlYzIxNGIw
MjZmMDI4N2EwZWZmYTY1OWVkNjQ1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oCkBAIC0xMDYsNiArMTA2LDIz
IEBAIHB1YmxpYzoKICAgICB2b2lkIGF1ZGlvVHJhY2tTZXRFbmFibGVkKFRyYWNrUHJpdmF0ZVJl
bW90ZUlkZW50aWZpZXIsIGJvb2wpOwogICAgIHZvaWQgdmlkZW9UcmFja1NldFNlbGVjdGVkKFRy
YWNrUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIsIGJvb2wpOwogCisjaWYgRU5BQkxFKFdJUkVMRVNT
X1BMQVlCQUNLX1RBUkdFVCkKKyAgICB2b2lkIHNldFdpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2Fi
bGVkKGJvb2wpOworICAgIHZvaWQgc2V0U2hvdWxkUGxheVRvUGxheWJhY2tUYXJnZXQoYm9vbCk7
CisjZW5kaWYKKworI2lmIEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01FRElBKQorICAgIHZvaWQg
a2V5QWRkZWQoKTsKKyNlbmRpZgorCisgICAgdm9pZCBiZWdpblNpbXVsYXRlZEhEQ1BFcnJvcigp
OworICAgIHZvaWQgZW5kU2ltdWxhdGVkSERDUEVycm9yKCk7CisKKyAgICB2b2lkIG5vdGlmeUFj
dGl2ZVNvdXJjZUJ1ZmZlcnNDaGFuZ2VkKCk7CisKKyAgICB2b2lkIGFwcGxpY2F0aW9uV2lsbFJl
c2lnbkFjdGl2ZSgpOworICAgIHZvaWQgYXBwbGljYXRpb25EaWRCZWNvbWVBY3RpdmUoKTsKKwog
ICAgIFJlZjxXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhUmVzb3VyY2U+IHJlcXVlc3RSZXNvdXJjZShX
ZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmJiwgV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVJlc291cmNl
TG9hZGVyOjpMb2FkT3B0aW9ucyk7CiAgICAgdm9pZCByZW1vdmVSZXNvdXJjZShSZW1vdGVNZWRp
YVJlc291cmNlSWRlbnRpZmllcik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkubWVzc2FnZXMuaW4K
aW5kZXggMzdiNzA1ZjkxMjllNzE1YWI1ZDdhYWE0N2QzYmQ1ZTI2ODkzNDUzZC4uMzk2MDcwN2U0
YjQ4OGU4NmFkNTU3ZTU0Y2Q2OWIwNmM2MjZjMGZjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkubWVzc2FnZXMuaW4KKysr
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHku
bWVzc2FnZXMuaW4KQEAgLTU1LDYgKzU1LDMyIEBAIG1lc3NhZ2VzIC0+IFJlbW90ZU1lZGlhUGxh
eWVyUHJveHkgTm90UmVmQ291bnRlZCB7CiAKICAgICBBdWRpb1RyYWNrU2V0RW5hYmxlZChXZWJL
aXQ6OlRyYWNrUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIgdHJhY2tJRCwgYm9vbCBlbmFibGVkKQog
ICAgIFZpZGVvVHJhY2tTZXRTZWxlY3RlZChXZWJLaXQ6OlRyYWNrUHJpdmF0ZVJlbW90ZUlkZW50
aWZpZXIgdHJhY2tJRCwgYm9vbCBlbmFibGVkKQorCisgICAgIyBQYWludAorICAgICMgUGFpbnRD
dXJyZW50RnJhbWVJbkNvbnRleHQKKworI2lmIEVOQUJMRShXSVJFTEVTU19QTEFZQkFDS19UQVJH
RVQpCisgICAgU2V0V2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWQoYm9vbCBkaXNhYmxlZCkK
KyAgICAjIFNldFdpcmVsZXNzUGxheWJhY2tUYXJnZXQoV2ViQ29yZTo6TWVkaWFQbGF5YmFja1Rh
cmdldCkKKyAgICBTZXRTaG91bGRQbGF5VG9QbGF5YmFja1RhcmdldChib29sIHNob3VsZFBsYXkp
CisjZW5kaWYKKworI2lmIEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01FRElBKQorICAgICMgU2V0
Q0RNU2Vzc2lvbgorICAgIEtleUFkZGVkKCkKKyAgICAjIENkbUluc3RhbmNlQXR0YWNoZWQKKyAg
ICAjIENkbUluc3RhbmNlRGV0YWNoZWQKKyAgICAjIEF0dGVtcHRUb0RlY3J5cHRXaXRoSW5zdGFu
Y2UKKyNlbmRpZgorCisgICAgQmVnaW5TaW11bGF0ZWRIRENQRXJyb3IoKQorICAgIEVuZFNpbXVs
YXRlZEhEQ1BFcnJvcigpCisKKyAgICBOb3RpZnlBY3RpdmVTb3VyY2VCdWZmZXJzQ2hhbmdlZCgp
CisKKyAgICBBcHBsaWNhdGlvbldpbGxSZXNpZ25BY3RpdmUoKQorICAgIEFwcGxpY2F0aW9uRGlk
QmVjb21lQWN0aXZlKCkKKwogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNw
cAppbmRleCBhMWY5NjdkNzcxYTViZTQyNDYyZGY4Y2UyODBjNGRkMzE1MzE1NGNlLi40MWQ5MDUy
NDk4OGQ4ZDYzYWQzZDQ3ZjUxNDkyYTJjMjg5Yzg5MzFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVS
ZW1vdGUuY3BwCkBAIC02NzQsMTUgKzY3NCwyMCBAQCBib29sIE1lZGlhUGxheWVyUHJpdmF0ZVJl
bW90ZTo6d2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWQoKSBjb25zdAogICAgIHJldHVybiB0
cnVlOwogfQogCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6c2V0V2lyZWxlc3NWaWRl
b1BsYXliYWNrRGlzYWJsZWQoYm9vbCkKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpz
ZXRXaXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZChib29sIGRpc2FibGVkKQogewotICAgIG5v
dEltcGxlbWVudGVkKCk7CisgICAgY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OlJlbW90ZU1l
ZGlhUGxheWVyUHJveHk6OlNldFdpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkKGRpc2FibGVk
KSwgbV9pZCk7Cit9CisKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpjdXJyZW50UGxh
eWJhY2tUYXJnZXRJc1dpcmVsZXNzQ2hhbmdlZChib29sIGlzV2lyZWxlc3NUYXJnZXQpCit7Cisg
ICAgbV9pc0N1cnJlbnRQbGF5YmFja1RhcmdldFdpcmVsZXNzID0gaXNXaXJlbGVzc1RhcmdldDsK
KyAgICBtX3BsYXllci0+Y3VycmVudFBsYXliYWNrVGFyZ2V0SXNXaXJlbGVzc0NoYW5nZWQoKTsK
IH0KIAogYm9vbCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OmlzQ3VycmVudFBsYXliYWNrVGFy
Z2V0V2lyZWxlc3MoKSBjb25zdAogewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJu
IGZhbHNlOworICAgIHJldHVybiBtX2lzQ3VycmVudFBsYXliYWNrVGFyZ2V0V2lyZWxlc3M7CiB9
CiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpzZXRXaXJlbGVzc1BsYXliYWNrVGFy
Z2V0KFJlZjxNZWRpYVBsYXliYWNrVGFyZ2V0PiYmKQpAQCAtNjkwLDkgKzY5NSw5IEBAIHZvaWQg
TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpzZXRXaXJlbGVzc1BsYXliYWNrVGFyZ2V0KFJlZjxN
ZWRpYVBsYXliYWNrVGFyZ2V0CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAotdm9pZCBNZWRp
YVBsYXllclByaXZhdGVSZW1vdGU6OnNldFNob3VsZFBsYXlUb1BsYXliYWNrVGFyZ2V0KGJvb2wp
Cit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6c2V0U2hvdWxkUGxheVRvUGxheWJhY2tU
YXJnZXQoYm9vbCBzaG91bGRQbGF5KQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgY29u
bmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6OlNldFNob3Vs
ZFBsYXlUb1BsYXliYWNrVGFyZ2V0KHNob3VsZFBsYXkpLCBtX2lkKTsKIH0KICNlbmRpZgogCkBA
IC03ODUsNyArNzkwLDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnNldENETVNl
c3Npb24oTGVnYWN5Q0RNU2Vzc2lvbiopCiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3Rl
OjprZXlBZGRlZCgpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBjb25uZWN0aW9uKCku
c2VuZChNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6S2V5QWRkZWQoKSwgbV9pZCk7
CiB9CiAjZW5kaWYKIApAQCAtODA1LDYgKzgxMCwxMiBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0
ZVJlbW90ZTo6YXR0ZW1wdFRvRGVjcnlwdFdpdGhJbnN0YW5jZShDRE1JbnN0YW5jZSYpCiAgICAg
bm90SW1wbGVtZW50ZWQoKTsKIH0KIAordm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6Ondh
aXRpbmdGb3JLZXlDaGFuZ2VkKCkKK3sKKyAgICBpZiAobV9wbGF5ZXIpCisgICAgICAgIG1fcGxh
eWVyLT53YWl0aW5nRm9yS2V5Q2hhbmdlZCgpOworfQorCiBib29sIE1lZGlhUGxheWVyUHJpdmF0
ZVJlbW90ZTo6d2FpdGluZ0ZvcktleSgpIGNvbnN0CiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsK
QEAgLTg0NCwxMiArODU1LDEyIEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpzaW11
bGF0ZUF1ZGlvSW50ZXJydXB0aW9uKCkKIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6
OmJlZ2luU2ltdWxhdGVkSERDUEVycm9yKCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAg
IGNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjpCZWdp
blNpbXVsYXRlZEhEQ1BFcnJvcigpLCBtX2lkKTsKIH0KIAogdm9pZCBNZWRpYVBsYXllclByaXZh
dGVSZW1vdGU6OmVuZFNpbXVsYXRlZEhEQ1BFcnJvcigpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQo
KTsKKyAgICBjb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94
eTo6RW5kU2ltdWxhdGVkSERDUEVycm9yKCksIG1faWQpOwogfQogCiBTdHJpbmcgTWVkaWFQbGF5
ZXJQcml2YXRlUmVtb3RlOjpsYW5ndWFnZU9mUHJpbWFyeUF1ZGlvVHJhY2soKSBjb25zdApAQCAt
ODkxLDE3ICs5MDIsMTcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6Om5vdGlmeVRy
YWNrTW9kZUNoYW5nZWQoKQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6bm90aWZ5
QWN0aXZlU291cmNlQnVmZmVyc0NoYW5nZWQoKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7Cisg
ICAgY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6Ok5v
dGlmeUFjdGl2ZVNvdXJjZUJ1ZmZlcnNDaGFuZ2VkKCksIG1faWQpOwogfQogCiB2b2lkIE1lZGlh
UGxheWVyUHJpdmF0ZVJlbW90ZTo6YXBwbGljYXRpb25XaWxsUmVzaWduQWN0aXZlKCkKIHsKLSAg
ICBub3RJbXBsZW1lbnRlZCgpOworICAgIGNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpSZW1v
dGVNZWRpYVBsYXllclByb3h5OjpBcHBsaWNhdGlvbldpbGxSZXNpZ25BY3RpdmUoKSwgbV9pZCk7
CiB9CiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjphcHBsaWNhdGlvbkRpZEJlY29t
ZUFjdGl2ZSgpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBjb25uZWN0aW9uKCkuc2Vu
ZChNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6QXBwbGljYXRpb25EaWRCZWNvbWVB
Y3RpdmUoKSwgbV9pZCk7CiB9CiAKIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpwZXJm
b3JtVGFza0F0TWVkaWFUaW1lKFdURjo6RnVuY3Rpb248dm9pZCgpPiYmLCBNZWRpYVRpbWUpCkBA
IC05MjUsNiArOTM2LDIxIEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpyZW1vdmVS
ZXNvdXJjZShSZW1vdGVNZWRpYVJlc291cmNlSWRlbnRpZmllciByZW1vCiAgICAgbV9tZWRpYVJl
c291cmNlcy5yZW1vdmUocmVtb3RlTWVkaWFSZXNvdXJjZUlkZW50aWZpZXIpOwogfQogCit2b2lk
IE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6cmVzb3VyY2VOb3RTdXBwb3J0ZWQoKQoreworICAg
IG1fcGxheWVyLT5yZXNvdXJjZU5vdFN1cHBvcnRlZCgpOworfQorCit2b2lkIE1lZGlhUGxheWVy
UHJpdmF0ZVJlbW90ZTo6ZW5naW5lVXBkYXRlZCgpCit7CisgICAgbV9wbGF5ZXItPm1lZGlhRW5n
aW5lVXBkYXRlZCgpOworfQorCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6YWN0aXZl
U291cmNlQnVmZmVyc0NoYW5nZWQoKQoreworICAgIG1fcGxheWVyLT5hY3RpdmVTb3VyY2VCdWZm
ZXJzQ2hhbmdlZCgpOworfQorCiAjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECiBXVEZMb2dDaGFu
bmVsJiBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OmxvZ0NoYW5uZWwoKSBjb25zdAogewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclBy
aXZhdGVSZW1vdGUuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQ
bGF5ZXJQcml2YXRlUmVtb3RlLmgKaW5kZXggM2M5NzJlMTMyZmMzYWZkZGYyYTg1YzZkMjViYTNk
ZWYxMzZhYmQ3Yi4uOGM1ODBhNWQ0MmE4YzViYTBmNzk0MTRmN2YwMmJiNzU4ZWZkNWIxYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclBy
aXZhdGVSZW1vdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01l
ZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5oCkBAIC05MCw2ICs5MCwxOSBAQCBwdWJsaWM6CiAKICAg
ICB2b2lkIHJlcXVlc3RSZXNvdXJjZShSZW1vdGVNZWRpYVJlc291cmNlSWRlbnRpZmllciwgV2Vi
Q29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYsIFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFSZXNvdXJjZUxv
YWRlcjo6TG9hZE9wdGlvbnMpOwogICAgIHZvaWQgcmVtb3ZlUmVzb3VyY2UoUmVtb3RlTWVkaWFS
ZXNvdXJjZUlkZW50aWZpZXIpOworICAgIHZvaWQgcmVzb3VyY2VOb3RTdXBwb3J0ZWQoKTsKKwor
ICAgIHZvaWQgZW5naW5lVXBkYXRlZCgpOworCisgICAgdm9pZCBhY3RpdmVTb3VyY2VCdWZmZXJz
Q2hhbmdlZCgpOworCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKyAgICB2b2lkIHdhaXRp
bmdGb3JLZXlDaGFuZ2VkKCk7CisjZW5kaWYKKworI2lmIEVOQUJMRShXSVJFTEVTU19QTEFZQkFD
S19UQVJHRVQpCisgICAgdm9pZCBjdXJyZW50UGxheWJhY2tUYXJnZXRJc1dpcmVsZXNzQ2hhbmdl
ZChib29sKTsKKyNlbmRpZgogCiAjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECiAgICAgY29uc3Qg
TG9nZ2VyJiBsb2dnZXIoKSBjb25zdCBmaW5hbCB7IHJldHVybiAqbV9sb2dnZXI7IH0KQEAgLTM0
MCw2ICszNTMsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9oYXNWaWRlbyB7IGZhbHNlIH07CiAg
ICAgYm9vbCBtX211dGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1fc2Vla2luZyB7IGZhbHNlIH07
CisgICAgYm9vbCBtX2lzQ3VycmVudFBsYXliYWNrVGFyZ2V0V2lyZWxlc3MgeyBmYWxzZSB9Owog
CiAjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECiAgICAgUmVmUHRyPGNvbnN0IExvZ2dlcj4gbV9s
b2dnZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1Jl
bW90ZU1lZGlhUGxheWVyTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BV
L21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlci5jcHAKaW5kZXggNTQ3ZDQ1ZjJhZWY3OWNk
YWI5ZDJlMzRlZmM5MmUwZGM3NjcwMDAxYy4uOTM3ODIyMTg0NmJhOTU2NzU1OWM0ZDg5YzM5ZjI0
NmYxZDk5OGM4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRp
YS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyLmNwcApAQCAtMzYxLDYgKzM2
MSw0MCBAQCB2b2lkIFJlbW90ZU1lZGlhUGxheWVyTWFuYWdlcjo6cmVtb3ZlUmVzb3VyY2UoTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlSWRlbnRpZmllcgogICAgICAgICBwbGF5ZXItPnJlbW92ZVJl
c291cmNlKHJlbW90ZU1lZGlhUmVzb3VyY2VJZGVudGlmaWVyKTsKIH0KIAordm9pZCBSZW1vdGVN
ZWRpYVBsYXllck1hbmFnZXI6OnJlc291cmNlTm90U3VwcG9ydGVkKE1lZGlhUGxheWVyUHJpdmF0
ZVJlbW90ZUlkZW50aWZpZXIgaWQpCit7CisgICAgaWYgKGNvbnN0IGF1dG8mIHBsYXllciA9IG1f
cGxheWVycy5nZXQoaWQpKQorICAgICAgICBwbGF5ZXItPnJlc291cmNlTm90U3VwcG9ydGVkKCk7
Cit9CisKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyOjplbmdpbmVVcGRhdGVkKE1lZGlh
UGxheWVyUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIgaWQpCit7CisgICAgaWYgKGNvbnN0IGF1dG8m
IHBsYXllciA9IG1fcGxheWVycy5nZXQoaWQpKQorICAgICAgICBwbGF5ZXItPmVuZ2luZVVwZGF0
ZWQoKTsKK30KKwordm9pZCBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXI6OmFjdGl2ZVNvdXJjZUJ1
ZmZlcnNDaGFuZ2VkKE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIgaWQpCit7Cisg
ICAgaWYgKGNvbnN0IGF1dG8mIHBsYXllciA9IG1fcGxheWVycy5nZXQoaWQpKQorICAgICAgICBw
bGF5ZXItPmFjdGl2ZVNvdXJjZUJ1ZmZlcnNDaGFuZ2VkKCk7Cit9CisKKyNpZiBFTkFCTEUoRU5D
UllQVEVEX01FRElBKQordm9pZCBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXI6OndhaXRpbmdGb3JL
ZXlDaGFuZ2VkKE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIgaWQpCit7CisgICAg
aWYgKGNvbnN0IGF1dG8mIHBsYXllciA9IG1fcGxheWVycy5nZXQoaWQpKQorICAgICAgICBwbGF5
ZXItPndhaXRpbmdGb3JLZXlDaGFuZ2VkKCk7Cit9CisjZW5kaWYKKworI2lmIEVOQUJMRShXSVJF
TEVTU19QTEFZQkFDS19UQVJHRVQpCit2b2lkIFJlbW90ZU1lZGlhUGxheWVyTWFuYWdlcjo6Y3Vy
cmVudFBsYXliYWNrVGFyZ2V0SXNXaXJlbGVzc0NoYW5nZWQoTWVkaWFQbGF5ZXJQcml2YXRlUmVt
b3RlSWRlbnRpZmllciBpZCwgYm9vbCBpc1dpcmVsZXNzVGFyZ2V0KQoreworICAgIGlmIChjb25z
dCBhdXRvJiBwbGF5ZXIgPSBtX3BsYXllcnMuZ2V0KGlkKSkKKyAgICAgICAgcGxheWVyLT5jdXJy
ZW50UGxheWJhY2tUYXJnZXRJc1dpcmVsZXNzQ2hhbmdlZChpc1dpcmVsZXNzVGFyZ2V0KTsKK30K
KyNlbmRpZgorCiB2b2lkIFJlbW90ZU1lZGlhUGxheWVyTWFuYWdlcjo6dXBkYXRlUHJlZmVyZW5j
ZXMoY29uc3QgU2V0dGluZ3MmIHNldHRpbmdzKQogewogICAgIGF1dG8gcmVnaXN0ZXJFbmdpbmUg
PSBbdGhpc10oTWVkaWFFbmdpbmVSZWdpc3RyYXIgcmVnaXN0cmFyLCBNZWRpYVBsYXllckVudW1z
OjpNZWRpYUVuZ2luZUlkZW50aWZpZXIgcmVtb3RlRW5naW5lSWRlbnRpZmllcikgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXll
ck1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVk
aWFQbGF5ZXJNYW5hZ2VyLmgKaW5kZXggODE3NjM0ZmUwNjA0MGUxMjM2Yzk3ZjEwMjk3YzgyMjgz
Mzg2NWM4OC4uZGY2ZjQxZTU3NWQ3YzcxNzRkMjhhYzI3YTIzZTc5NzQwNDU1OGYxOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXll
ck1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90
ZU1lZGlhUGxheWVyTWFuYWdlci5oCkBAIC0xMDEsNiArMTAxLDE5IEBAIHByaXZhdGU6CiAKICAg
ICB2b2lkIHJlcXVlc3RSZXNvdXJjZShNZWRpYVBsYXllclByaXZhdGVSZW1vdGVJZGVudGlmaWVy
LCBSZW1vdGVNZWRpYVJlc291cmNlSWRlbnRpZmllciwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0
JiYsIFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFSZXNvdXJjZUxvYWRlcjo6TG9hZE9wdGlvbnMsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCByZW1vdmVSZXNvdXJjZShNZWRp
YVBsYXllclByaXZhdGVSZW1vdGVJZGVudGlmaWVyLCBSZW1vdGVNZWRpYVJlc291cmNlSWRlbnRp
Zmllcik7CisgICAgdm9pZCByZXNvdXJjZU5vdFN1cHBvcnRlZChNZWRpYVBsYXllclByaXZhdGVS
ZW1vdGVJZGVudGlmaWVyKTsKKworICAgIHZvaWQgZW5naW5lVXBkYXRlZChNZWRpYVBsYXllclBy
aXZhdGVSZW1vdGVJZGVudGlmaWVyKTsKKworICAgIHZvaWQgYWN0aXZlU291cmNlQnVmZmVyc0No
YW5nZWQoTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlSWRlbnRpZmllcik7CisKKyNpZiBFTkFCTEUo
RU5DUllQVEVEX01FRElBKQorICAgIHZvaWQgd2FpdGluZ0ZvcktleUNoYW5nZWQoTWVkaWFQbGF5
ZXJQcml2YXRlUmVtb3RlSWRlbnRpZmllcik7CisjZW5kaWYKKworI2lmIEVOQUJMRShXSVJFTEVT
U19QTEFZQkFDS19UQVJHRVQpCisgICAgdm9pZCBjdXJyZW50UGxheWJhY2tUYXJnZXRJc1dpcmVs
ZXNzQ2hhbmdlZChNZWRpYVBsYXllclByaXZhdGVSZW1vdGVJZGVudGlmaWVyLCBib29sKTsKKyNl
bmRpZgogCiAgICAgZnJpZW5kIGNsYXNzIE1lZGlhUGxheWVyUmVtb3RlRmFjdG9yeTsKICAgICB2
b2lkIGdldFN1cHBvcnRlZFR5cGVzKFdlYkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6Ok1lZGlhRW5n
aW5lSWRlbnRpZmllciwgSGFzaFNldDxTdHJpbmcsIEFTQ0lJQ2FzZUluc2Vuc2l0aXZlSGFzaD4m
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3Rl
TWVkaWFQbGF5ZXJNYW5hZ2VyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXIubWVzc2FnZXMuaW4KaW5kZXggMzdj
Njg0NWViNDRkMTA0ODY4YzQ5M2Y5NjcxYTEwNzEwZWI5OTIwNS4uNDc1ZGE0ZjljYTlmNWE1MmNi
Nzg1YWRmNjYwODhmOTlkZTBhNmE2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXIubWVzc2FnZXMuaW4KKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFn
ZXIubWVzc2FnZXMuaW4KQEAgLTQ4LDYgKzQ4LDE5IEBAIG1lc3NhZ2VzIC0+IFJlbW90ZU1lZGlh
UGxheWVyTWFuYWdlciBOb3RSZWZDb3VudGVkIHsKIAogICAgIFJlcXVlc3RSZXNvdXJjZShXZWJL
aXQ6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIgbWVkaWFQbGF5ZXJQcml2YXRl
UmVtb3RlSWRlbnRpZmllciwgV2ViS2l0OjpSZW1vdGVNZWRpYVJlc291cmNlSWRlbnRpZmllciBy
ZW1vdGVNZWRpYVJlc291cmNlSWRlbnRpZmllciwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IHJl
cXVlc3QsIGVudW06dWludDhfdCBXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhUmVzb3VyY2VMb2FkZXI6
OkxvYWRPcHRpb25zIG9wdGlvbnMpIC0+ICgpIEFzeW5jCiAgICAgUmVtb3ZlUmVzb3VyY2UoV2Vi
S2l0OjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGVJZGVudGlmaWVyIG1lZGlhUGxheWVyUHJpdmF0
ZVJlbW90ZUlkZW50aWZpZXIsIFdlYktpdDo6UmVtb3RlTWVkaWFSZXNvdXJjZUlkZW50aWZpZXIg
cmVtb3RlTWVkaWFSZXNvdXJjZUlkZW50aWZpZXIpCisgICAgUmVzb3VyY2VOb3RTdXBwb3J0ZWQo
V2ViS2l0OjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGVJZGVudGlmaWVyIHBsYXllcklEKQorCisg
ICAgRW5naW5lVXBkYXRlZChXZWJLaXQ6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUlkZW50aWZp
ZXIgcGxheWVySUQpCisKKyAgICBBY3RpdmVTb3VyY2VCdWZmZXJzQ2hhbmdlZChXZWJLaXQ6Ok1l
ZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIgcGxheWVySUQpCisKKyNpZiBFTkFCTEUo
RU5DUllQVEVEX01FRElBKQorICAgIFdhaXRpbmdGb3JLZXlDaGFuZ2VkKFdlYktpdDo6TWVkaWFQ
bGF5ZXJQcml2YXRlUmVtb3RlSWRlbnRpZmllciBwbGF5ZXJJRCkKKyNlbmRpZgorCisjaWYgRU5B
QkxFKFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkKKyAgICBDdXJyZW50UGxheWJhY2tUYXJnZXRJ
c1dpcmVsZXNzQ2hhbmdlZChXZWJLaXQ6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUlkZW50aWZp
ZXIgcGxheWVySUQsIGJvb2wgaXNXaXJlbGVzc1RhcmdldCkKKyNlbmRpZgogfQogCiAjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388474</attachid>
            <date>2020-01-22 15:13:25 -0800</date>
            <delta_ts>2020-01-22 16:13:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206468-20200122151324.patch</filename>
            <type>text/plain</type>
            <size>22999</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0OTQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzFlN2NlNjRhYzRhNjM4
Y2NhOTJkOGVlMmUzYTM5MDc2NTQxZWMyYy4uODVlY2VmNWRiNTg5YTZlNDNiOWY0ZjNjMDNkMTUy
MjE1ZGYzYzNmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIwLTAxLTIyICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBbTWVkaWEgaW4gR1BVIHByb2Nlc3Nd
IFBpcGUgbW9yZSBNZWRpYVBsYXllclByaXZhdGUgYW5kIGNsaWVudCBtZXRob2RzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDY0NjgKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0bWwvSFRNTE1lZGlh
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBs
YXllckN1cnJlbnRQbGF5YmFja1RhcmdldElzV2lyZWxlc3NDaGFuZ2VkKToKKyAgICAgICAgKiBo
dG1sL0hUTUxNZWRpYUVsZW1lbnQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRp
YVBsYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllcjo6Y3VycmVudFBsYXli
YWNrVGFyZ2V0SXNXaXJlbGVzc0NoYW5nZWQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L01lZGlhUGxheWVyLmg6IEFkZCByZXNvdXJjZU5vdFN1cHBvcnRlZCgpIHRvIGNhbGwgdXAgdG8g
dGhlIGNsaWVudC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyQ2xpZW50OjptZWRpYVBs
YXllckN1cnJlbnRQbGF5YmFja1RhcmdldElzV2lyZWxlc3NDaGFuZ2VkKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0
aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bjo6cGxheWJhY2tUYXJnZXRJc1dpcmVsZXNzQ2hhbmdlZCk6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VB
VkZPYmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3Vy
Y2VBVkZPYmpDOjpzZXRTaG91bGRQbGF5VG9QbGF5YmFja1RhcmdldCk6CisKIDIwMjAtMDEtMjIg
IFNhaWQgQWJvdS1IYWxsYXdhICA8c2Fib3VoYWxsYXdhQGFwcGxlLmNvbT4KIAogICAgICAgICBS
ZW1vdmUgSW1hZ2VCdWZmZXI6OnNpemVGb3JEZXN0aW5hdGlvblNpemUoKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA0
ZjBkMmUxMjdkNjZiMGRlMzlkYzkxYjdkZmIyOGFjMjliOWViYzk3Li45MzExZDc0YmY3NmJmYzM2
ODk1MDJlMjA4Y2YyNTYzNmQ0MjQxYjI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDIw
LTAxLTIyICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBbTWVkaWEgaW4g
R1BVIHByb2Nlc3NdIFBpcGUgbW9yZSBNZWRpYVBsYXllclByaXZhdGUgYW5kIGNsaWVudCBtZXRo
b2RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDY0
NjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQaXBl
IG1vcmUgb2YgdGhlIG1lZGlhIHBsYXllciBhbmQgY2xpZW50IGZ1bmN0aW9ucy4gR2VuZXJhbGx5
LCB0aGVzZSBhcmUgdm9pZCBmdW5jdGlvbnMKKyAgICAgICAgdGhhdCByZXF1aXJlIG5vIHBhcmFt
ZXRlcnMuCisKKyAgICAgICAgQWxzbywgdGhlIGNsaWVudCAqY2hhbmdlZCgpIGZ1bmN0aW9ucywg
d2hlbiBpbXBsZW1lbnRlZCwgdGVuZCB0byBjYWxsIHRoZSBhY2Nlc3NvciBvZiB0aGUgcHJvcGVy
dHkKKyAgICAgICAgdGhhdCBqdXN0IGNoYW5nZWQuIFRoaXMgc2VlbXMgcmF0aGVyIGNpcmN1aXRv
dXMuIFRoZSBjbGllbnQgbWV0aG9kcyBvdWdodCB0byBqdXN0IGFsc28gcGFzcyBhbG9uZworICAg
ICAgICB0aGUgdmFsdWUgb2YgdGhlIG5ldyBjaGFuZ2VkIHZhbHVlLiBUaGlzIHBhdGNoIHJlZmFj
dG9ycyBtZWRpYVBsYXllckN1cnJlbnRQbGF5YmFja1RhcmdldElzV2lyZWxlc3NDaGFuZ2VkCisg
ICAgICAgIHRvIGRvIGV4YWN0bHkgdGhhdC4KKworICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlh
UGxheWVyUHJveHk6Om1lZGlhUGxheWVyUmVzb3VyY2VOb3RTdXBwb3J0ZWQpOgorICAgICAgICAo
V2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXllckVuZ2luZVVwZGF0ZWQp
OgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXllckFj
dGl2ZVNvdXJjZUJ1ZmZlcnNDaGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFQ
bGF5ZXJQcm94eTo6bWVkaWFQbGF5ZXJXYWl0aW5nRm9yS2V5Q2hhbmdlZCk6CisgICAgICAgIChX
ZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6Om1lZGlhUGxheWVyQ3VycmVudFBsYXliYWNr
VGFyZ2V0SXNXaXJlbGVzc0NoYW5nZWQpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBs
YXllclByb3h5OjpzZXRXaXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZCk6CisgICAgICAgIChX
ZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6OnNldFNob3VsZFBsYXlUb1BsYXliYWNrVGFy
Z2V0KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6a2V5QWRkZWQp
OgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjpiZWdpblNpbXVsYXRl
ZEhEQ1BFcnJvcik6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6OmVu
ZFNpbXVsYXRlZEhEQ1BFcnJvcik6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVy
UHJveHk6Om5vdGlmeUFjdGl2ZVNvdXJjZUJ1ZmZlcnNDaGFuZ2VkKToKKyAgICAgICAgKFdlYktp
dDo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6YXBwbGljYXRpb25XaWxsUmVzaWduQWN0aXZlKToK
KyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6YXBwbGljYXRpb25EaWRC
ZWNvbWVBY3RpdmUpOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5
ZXJQcm94eS5oOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQ
cm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBs
YXllclByaXZhdGVSZW1vdGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVBsYXllclByaXZh
dGVSZW1vdGU6OnNldFdpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkKToKKyAgICAgICAgKFdl
YktpdDo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpjdXJyZW50UGxheWJhY2tUYXJnZXRJc1dp
cmVsZXNzQ2hhbmdlZCk6IENhY2hlIHZhbHVlIGluIG5ldyBtZW1iZXIgdmFyaWFibGUuCisgICAg
ICAgIChXZWJLaXQ6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6aXNDdXJyZW50UGxheWJhY2tU
YXJnZXRXaXJlbGVzcyBjb25zdCk6IFJldHVybiB2YWx1ZS4KKyAgICAgICAgKFdlYktpdDo6TWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpzZXRTaG91bGRQbGF5VG9QbGF5YmFja1RhcmdldCk6Cisg
ICAgICAgIChXZWJLaXQ6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6a2V5QWRkZWQpOgorICAg
ICAgICAoV2ViS2l0OjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OndhaXRpbmdGb3JLZXlDaGFu
Z2VkKToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpiZWdpblNp
bXVsYXRlZEhEQ1BFcnJvcik6CisgICAgICAgIChXZWJLaXQ6Ok1lZGlhUGxheWVyUHJpdmF0ZVJl
bW90ZTo6ZW5kU2ltdWxhdGVkSERDUEVycm9yKToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFQbGF5
ZXJQcml2YXRlUmVtb3RlOjpub3RpZnlBY3RpdmVTb3VyY2VCdWZmZXJzQ2hhbmdlZCk6CisgICAg
ICAgIChXZWJLaXQ6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6YXBwbGljYXRpb25XaWxsUmVz
aWduQWN0aXZlKToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjph
cHBsaWNhdGlvbkRpZEJlY29tZUFjdGl2ZSk6CisgICAgICAgIChXZWJLaXQ6Ok1lZGlhUGxheWVy
UHJpdmF0ZVJlbW90ZTo6cmVzb3VyY2VOb3RTdXBwb3J0ZWQpOgorICAgICAgICAoV2ViS2l0OjpN
ZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OmVuZ2luZVVwZGF0ZWQpOgorICAgICAgICAoV2ViS2l0
OjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OmFjdGl2ZVNvdXJjZUJ1ZmZlcnNDaGFuZ2VkKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUu
aDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1v
dGUubWVzc2FnZXMuaW46CisKIDIwMjAtMDEtMjIgIEtlaXRoIFJvbGxpbiAgPGtyb2xsaW5AYXBw
bGUuY29tPgogCiAgICAgICAgIEZpeCBTREsgYXZhaWxhYmlsaXR5IG1hY3JvcwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggNzY1MzdhNDAxZGIyZDFkNGI4ZWFi
MGMxNmIwMTk5ZDdjZTQwNzBhOS4uODVmZGUzOGU3ZmVkYmU5N2FjOGQ4YTY2ZDZjYzM3OTNjODIx
MGJhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC01ODEy
LDkgKzU4MTIsOSBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OndpcmVsZXNzUm91dGVzQXZhaWxh
YmxlRGlkQ2hhbmdlKCkKICAgICBlbnF1ZXVlUGxheWJhY2tUYXJnZXRBdmFpbGFiaWxpdHlDaGFu
Z2VkRXZlbnQoKTsKIH0KIAotdm9pZCBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllckN1cnJl
bnRQbGF5YmFja1RhcmdldElzV2lyZWxlc3NDaGFuZ2VkKCkKK3ZvaWQgSFRNTE1lZGlhRWxlbWVu
dDo6bWVkaWFQbGF5ZXJDdXJyZW50UGxheWJhY2tUYXJnZXRJc1dpcmVsZXNzQ2hhbmdlZChib29s
IGlzQ3VycmVudFBsYXlCYWNrVGFyZ2V0V2lyZWxlc3MpCiB7Ci0gICAgc2V0SXNQbGF5aW5nVG9X
aXJlbGVzc1RhcmdldChtX3BsYXllciAmJiBtX3BsYXllci0+aXNDdXJyZW50UGxheWJhY2tUYXJn
ZXRXaXJlbGVzcygpKTsKKyAgICBzZXRJc1BsYXlpbmdUb1dpcmVsZXNzVGFyZ2V0KG1fcGxheWVy
ICYmIGlzQ3VycmVudFBsYXlCYWNrVGFyZ2V0V2lyZWxlc3MpOwogfQogCiB2b2lkIEhUTUxNZWRp
YUVsZW1lbnQ6OnNldElzUGxheWluZ1RvV2lyZWxlc3NUYXJnZXQoYm9vbCBpc1BsYXlpbmdUb1dp
cmVsZXNzVGFyZ2V0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFF
bGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAppbmRleCBh
YjY1MTViNWVjM2IwZjY2Y2ZjZTZlMDliOTZmOGI2MjczYzY0ZTE0Li41NTIyZjhjZTUyYTAzOTc3
MDg2ZWJkNjAzOTRiNmI5YTgxMmU1ODViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxNZWRpYUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVs
ZW1lbnQuaApAQCAtNjk4LDcgKzY5OCw3IEBAIHByaXZhdGU6CiAjZW5kaWYKICAgICAKICNpZiBF
TkFCTEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKQotICAgIHZvaWQgbWVkaWFQbGF5ZXJDdXJy
ZW50UGxheWJhY2tUYXJnZXRJc1dpcmVsZXNzQ2hhbmdlZCgpIGZpbmFsOworICAgIHZvaWQgbWVk
aWFQbGF5ZXJDdXJyZW50UGxheWJhY2tUYXJnZXRJc1dpcmVsZXNzQ2hhbmdlZChib29sKSBmaW5h
bDsKICAgICB2b2lkIGVucXVldWVQbGF5YmFja1RhcmdldEF2YWlsYWJpbGl0eUNoYW5nZWRFdmVu
dCgpOwogCiAgICAgdXNpbmcgRXZlbnRUYXJnZXQ6OmRpc3BhdGNoRXZlbnQ7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKaW5kZXggODAyOTBm
NmJmNmRiY2Y2ZjA3NmIyMGMyMTU2NWQxOWFjZmY4MWZiMy4uY2E3MWU3ZTBiNTg2YzdiNTViMTEy
NzMyYmFkNTliMDFkOGE0MTgxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL01lZGlhUGxheWVyLmNwcApAQCAtMTA0NCw5ICsxMDQ0LDkgQEAgdm9pZCBNZWRpYVBs
YXllcjo6c2V0V2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWQoYm9vbCBkaXNhYmxlZCkKICAg
ICBtX3ByaXZhdGUtPnNldFdpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkKGRpc2FibGVkKTsK
IH0KIAotdm9pZCBNZWRpYVBsYXllcjo6Y3VycmVudFBsYXliYWNrVGFyZ2V0SXNXaXJlbGVzc0No
YW5nZWQoKQordm9pZCBNZWRpYVBsYXllcjo6Y3VycmVudFBsYXliYWNrVGFyZ2V0SXNXaXJlbGVz
c0NoYW5nZWQoYm9vbCBpc0N1cnJlbnRQbGF5YmFja1RhcmdldFdpcmVsZXNzKQogewotICAgIGNs
aWVudCgpLm1lZGlhUGxheWVyQ3VycmVudFBsYXliYWNrVGFyZ2V0SXNXaXJlbGVzc0NoYW5nZWQo
KTsKKyAgICBjbGllbnQoKS5tZWRpYVBsYXllckN1cnJlbnRQbGF5YmFja1RhcmdldElzV2lyZWxl
c3NDaGFuZ2VkKGlzQ3VycmVudFBsYXliYWNrVGFyZ2V0V2lyZWxlc3MpOwogfQogCiBib29sIE1l
ZGlhUGxheWVyOjpjYW5QbGF5VG9XaXJlbGVzc1BsYXliYWNrVGFyZ2V0KCkgY29uc3QKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCmluZGV4IDE4M2Q4
YjUwMjU5N2YxYTVjOWQ0NTJmNmM0MmVjODgxYzZjNGU5ZGMuLjdlNmNiOGEzOTBkZjdmZTFhN2Fh
ZTAxNzM5ZGM5NDhmNzc2NjIxZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhUGxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvTWVkaWFQbGF5ZXIuaApAQCAtMjEwLDcgKzIxMCw3IEBAIHB1YmxpYzoKICNlbmRpZgog
ICAgIAogI2lmIEVOQUJMRShXSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpCi0gICAgdmlydHVhbCB2
b2lkIG1lZGlhUGxheWVyQ3VycmVudFBsYXliYWNrVGFyZ2V0SXNXaXJlbGVzc0NoYW5nZWQoKSB7
IH07CisgICAgdmlydHVhbCB2b2lkIG1lZGlhUGxheWVyQ3VycmVudFBsYXliYWNrVGFyZ2V0SXNX
aXJlbGVzc0NoYW5nZWQoYm9vbCkgeyB9OwogI2VuZGlmCiAKICAgICB2aXJ0dWFsIFN0cmluZyBt
ZWRpYVBsYXllclJlZmVycmVyKCkgY29uc3QgeyByZXR1cm4gU3RyaW5nKCk7IH0KQEAgLTQ2OSw3
ICs0NjksNyBAQCBwdWJsaWM6CiAgICAgYm9vbCB3aXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxl
ZCgpIGNvbnN0OwogICAgIHZvaWQgc2V0V2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWQoYm9v
bCk7CiAKLSAgICB2b2lkIGN1cnJlbnRQbGF5YmFja1RhcmdldElzV2lyZWxlc3NDaGFuZ2VkKCk7
CisgICAgdm9pZCBjdXJyZW50UGxheWJhY2tUYXJnZXRJc1dpcmVsZXNzQ2hhbmdlZChib29sKTsK
ICAgICB2b2lkIHBsYXliYWNrVGFyZ2V0QXZhaWxhYmlsaXR5Q2hhbmdlZCgpOwogCiAgICAgYm9v
bCBpc0N1cnJlbnRQbGF5YmFja1RhcmdldFdpcmVsZXNzKCkgY29uc3Q7CkBAIC02MjAsNiArNjIw
LDcgQEAgcHVibGljOgogICAgIGNvbnN0IFN0cmluZyYgbWVkaWFDYWNoZURpcmVjdG9yeSgpIGNv
bnN0IHsgcmV0dXJuIGNsaWVudCgpLm1lZGlhUGxheWVyTWVkaWFDYWNoZURpcmVjdG9yeSgpOyB9
CiAgICAgYm9vbCBpc1ZpZGVvUGxheWVyKCkgY29uc3QgeyByZXR1cm4gY2xpZW50KCkubWVkaWFQ
bGF5ZXJJc1ZpZGVvKCk7IH0KICAgICB2b2lkIG1lZGlhRW5naW5lVXBkYXRlZCgpIHsgY2xpZW50
KCkubWVkaWFQbGF5ZXJFbmdpbmVVcGRhdGVkKCk7IH0KKyAgICB2b2lkIHJlc291cmNlTm90U3Vw
cG9ydGVkKCkgeyBjbGllbnQoKS5tZWRpYVBsYXllclJlc291cmNlTm90U3VwcG9ydGVkKCk7IH0K
ICAgICBib29sIGlzTG9vcGluZygpIGNvbnN0IHsgcmV0dXJuIGNsaWVudCgpLm1lZGlhUGxheWVy
SXNMb29waW5nKCk7IH0KIAogICAgIHZvaWQgcmVtb3RlRW5naW5lRmFpbGVkVG9Mb2FkKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24u
Y3BwCmluZGV4IDliODk3M2I2MWUwMTUyMDEzYzhlZTdjMzliOTBmODY5NDc1YWNkMTAuLmM1OTI4
YmJjOWIyMDBkNDY5Y2U3MjE4ODQ5MDIxNzU4N2RkZTkxY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVB
VkZvdW5kYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uY3BwCkBAIC05NjIsNyAr
OTYyLDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb246OnByb2Nlc3NOZXdB
bmRSZW1vdmVkVGV4dFRyYWNrcyhjb25zdCBWZWN0b3IKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRl
QVZGb3VuZGF0aW9uOjpwbGF5YmFja1RhcmdldElzV2lyZWxlc3NDaGFuZ2VkKCkKIHsKICAgICBp
ZiAobV9wbGF5ZXIpCi0gICAgICAgIG1fcGxheWVyLT5jdXJyZW50UGxheWJhY2tUYXJnZXRJc1dp
cmVsZXNzQ2hhbmdlZCgpOworICAgICAgICBtX3BsYXllci0+Y3VycmVudFBsYXliYWNrVGFyZ2V0
SXNXaXJlbGVzc0NoYW5nZWQobV9wbGF5ZXItPmlzQ3VycmVudFBsYXliYWNrVGFyZ2V0V2lyZWxl
c3MoKSk7CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VB
VkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tCmluZGV4IGZlMGUx
N2Y2YjBjNGNhYmViZDJhMDk4MDk3NTg1OTY2NDM1NGNiMjEuLjRlNDhmNzM4MDk4NjJmODEyOGMx
NTVmMGI0YmU1YTRiYWZlMzc4NjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNl
QVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0KQEAgLTEx
OTQsNyArMTE5NCw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpD
OjpzZXRTaG91bGRQbGF5VG9QbGF5YmFja1RhcmdldChib29sIHNoCiAgICAgbV9zaG91bGRQbGF5
VG9UYXJnZXQgPSBzaG91bGRQbGF5VG9UYXJnZXQ7CiAKICAgICBpZiAobV9wbGF5ZXIpCi0gICAg
ICAgIG1fcGxheWVyLT5jdXJyZW50UGxheWJhY2tUYXJnZXRJc1dpcmVsZXNzQ2hhbmdlZCgpOwor
ICAgICAgICBtX3BsYXllci0+Y3VycmVudFBsYXliYWNrVGFyZ2V0SXNXaXJlbGVzc0NoYW5nZWQo
bV9wbGF5ZXItPmlzQ3VycmVudFBsYXliYWNrVGFyZ2V0V2lyZWxlc3MoKSk7CiB9CiAKIGJvb2wg
TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjppc0N1cnJlbnRQbGF5YmFja1Rh
cmdldFdpcmVsZXNzKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcAppbmRleCAyOTRmYmQ3ZDk5Yzll
YzBiNGQxNjYyYjgxMjViOWRjOTU4ZDMxMTA0Li4zMGU3YTA4NWE2ZTcyZjRmMzVmMzJjMTFmYmU0
ZTdlYzMxYjNhNWY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3BwCkBAIC00MTUsNyArNDE1LDcgQEAgdm9p
ZCBSZW1vdGVNZWRpYVBsYXllclByb3h5Ojp2aWRlb1RyYWNrU2V0U2VsZWN0ZWQoVHJhY2tQcml2
YXRlUmVtb3RlSWRlbnRpZmllcgogLy8gRklYTUU6IFVuaW1wbGVtZW50ZWQKIHZvaWQgUmVtb3Rl
TWVkaWFQbGF5ZXJQcm94eTo6bWVkaWFQbGF5ZXJSZXNvdXJjZU5vdFN1cHBvcnRlZCgpCiB7Ci0g
ICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBtX3dlYlByb2Nlc3NDb25uZWN0aW9uLT5zZW5kKE1l
c3NhZ2VzOjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OlJlc291cmNlTm90U3VwcG9ydGVkKCks
IG1faWQpOwogfQogCiB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6Om1lZGlhUGxheWVyU2l6
ZUNoYW5nZWQoKQpAQCAtNDI1LDcgKzQyNSw3IEBAIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94
eTo6bWVkaWFQbGF5ZXJTaXplQ2hhbmdlZCgpCiAKIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94
eTo6bWVkaWFQbGF5ZXJFbmdpbmVVcGRhdGVkKCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwor
ICAgIG1fd2ViUHJvY2Vzc0Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6Ok1lZGlhUGxheWVyUHJp
dmF0ZVJlbW90ZTo6RW5naW5lVXBkYXRlZCgpLCBtX2lkKTsKIH0KIAogdm9pZCBSZW1vdGVNZWRp
YVBsYXllclByb3h5OjptZWRpYVBsYXllckZpcnN0VmlkZW9GcmFtZUF2YWlsYWJsZSgpCkBAIC00
NDEsNyArNDQxLDcgQEAgdm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXllclJl
bmRlcmluZ01vZGVDaGFuZ2VkKCkKIAogdm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRp
YVBsYXllckFjdGl2ZVNvdXJjZUJ1ZmZlcnNDaGFuZ2VkKCkKIHsKLSAgICBub3RJbXBsZW1lbnRl
ZCgpOworICAgIG1fd2ViUHJvY2Vzc0Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6Ok1lZGlhUGxh
eWVyUHJpdmF0ZVJlbW90ZTo6QWN0aXZlU291cmNlQnVmZmVyc0NoYW5nZWQoKSwgbV9pZCk7CiB9
CiAKICNpZiBFTkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkKQEAgLTQ2NiwxMiArNDY2LDI1
IEBAIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bWVkaWFQbGF5ZXJJbml0aWFsaXphdGlv
bkRhdGFFbmNvdW50ZXJlZChjb25zdCBTdHJpCiAKIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94
eTo6bWVkaWFQbGF5ZXJXYWl0aW5nRm9yS2V5Q2hhbmdlZCgpCiB7Ci0gICAgbm90SW1wbGVtZW50
ZWQoKTsKKyAgICBtX3dlYlByb2Nlc3NDb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpNZWRpYVBs
YXllclByaXZhdGVSZW1vdGU6OldhaXRpbmdGb3JLZXlDaGFuZ2VkKCksIG1faWQpOwogfQogI2Vu
ZGlmCiAKICNpZiBFTkFCTEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKQotdm9pZCBSZW1vdGVN
ZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXllckN1cnJlbnRQbGF5YmFja1RhcmdldElzV2lyZWxl
c3NDaGFuZ2VkKCkgeyB9Owordm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXll
ckN1cnJlbnRQbGF5YmFja1RhcmdldElzV2lyZWxlc3NDaGFuZ2VkKGJvb2wgaXNDdXJyZW50UGxh
eWJhY2tUYXJnZXRXaXJlbGVzcykKK3sKKyAgICBtX3dlYlByb2Nlc3NDb25uZWN0aW9uLT5zZW5k
KE1lc3NhZ2VzOjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OkN1cnJlbnRQbGF5YmFja1Rhcmdl
dElzV2lyZWxlc3NDaGFuZ2VkKGlzQ3VycmVudFBsYXliYWNrVGFyZ2V0V2lyZWxlc3MpLCBtX2lk
KTsKK30KKwordm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjpzZXRXaXJlbGVzc1ZpZGVvUGxh
eWJhY2tEaXNhYmxlZChib29sIGRpc2FibGVkKQoreworICAgIG1fcGxheWVyLT5zZXRXaXJlbGVz
c1ZpZGVvUGxheWJhY2tEaXNhYmxlZChkaXNhYmxlZCk7Cit9CisKK3ZvaWQgUmVtb3RlTWVkaWFQ
bGF5ZXJQcm94eTo6c2V0U2hvdWxkUGxheVRvUGxheWJhY2tUYXJnZXQoYm9vbCBzaG91bGRQbGF5
KQoreworICAgIG1fcGxheWVyLT5zZXRTaG91bGRQbGF5VG9QbGF5YmFja1RhcmdldChzaG91bGRQ
bGF5KTsKK30KICNlbmRpZgogCiB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6Om1lZGlhUGxh
eWVyRW50ZXJGdWxsc2NyZWVuKCkKQEAgLTY0Niw2ICs2NTksMzggQEAgdm9pZCBSZW1vdGVNZWRp
YVBsYXllclByb3h5OjpzZW5kQ2FjaGVkU3RhdGUoKQogICAgIG1fY2FjaGVkU3RhdGUuYnVmZmVy
ZWRSYW5nZXMuY2xlYXIoKTsKIH0KIAorI2lmIEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01FRElB
KQordm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjprZXlBZGRlZCgpCit7CisgICAgbV9wbGF5
ZXItPmtleUFkZGVkKCk7Cit9CisjZW5kaWYKKwordm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5
OjpiZWdpblNpbXVsYXRlZEhEQ1BFcnJvcigpCit7CisgICAgbV9wbGF5ZXItPmJlZ2luU2ltdWxh
dGVkSERDUEVycm9yKCk7Cit9CisKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6ZW5kU2lt
dWxhdGVkSERDUEVycm9yKCkKK3sKKyAgICBtX3BsYXllci0+ZW5kU2ltdWxhdGVkSERDUEVycm9y
KCk7Cit9CisKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bm90aWZ5QWN0aXZlU291cmNl
QnVmZmVyc0NoYW5nZWQoKQoreworICAgIG1fd2ViUHJvY2Vzc0Nvbm5lY3Rpb24tPnNlbmQoTWVz
c2FnZXM6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6QWN0aXZlU291cmNlQnVmZmVyc0NoYW5n
ZWQoKSwgbV9pZCk7Cit9CisKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6YXBwbGljYXRp
b25XaWxsUmVzaWduQWN0aXZlKCkKK3sKKyAgICBtX3BsYXllci0+YXBwbGljYXRpb25XaWxsUmVz
aWduQWN0aXZlKCk7Cit9CisKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6YXBwbGljYXRp
b25EaWRCZWNvbWVBY3RpdmUoKQoreworICAgIG1fcGxheWVyLT5hcHBsaWNhdGlvbkRpZEJlY29t
ZUFjdGl2ZSgpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI3VuZGVmIE1FU1NBR0Vf
Q0hFQ0tfQ09OVEVYVElECmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVk
aWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21l
ZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuaAppbmRleCA1YmE3ODNhOWE2OTAyYTcwODYwNWU1
YzY2NmY1OGU0MjUzNTdjNzIyLi5jYWE5NmEzNDI2ODM5ZjgxMGQxNDJjYzJhM2Y3NTc2MDg5NDE2
MzBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVk
aWFQbGF5ZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1v
dGVNZWRpYVBsYXllclByb3h5LmgKQEAgLTEwNiw2ICsxMDYsMjMgQEAgcHVibGljOgogICAgIHZv
aWQgYXVkaW9UcmFja1NldEVuYWJsZWQoVHJhY2tQcml2YXRlUmVtb3RlSWRlbnRpZmllciwgYm9v
bCk7CiAgICAgdm9pZCB2aWRlb1RyYWNrU2V0U2VsZWN0ZWQoVHJhY2tQcml2YXRlUmVtb3RlSWRl
bnRpZmllciwgYm9vbCk7CiAKKyNpZiBFTkFCTEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKQor
ICAgIHZvaWQgc2V0V2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWQoYm9vbCk7CisgICAgdm9p
ZCBzZXRTaG91bGRQbGF5VG9QbGF5YmFja1RhcmdldChib29sKTsKKyNlbmRpZgorCisjaWYgRU5B
QkxFKExFR0FDWV9FTkNSWVBURURfTUVESUEpCisgICAgdm9pZCBrZXlBZGRlZCgpOworI2VuZGlm
CisKKyAgICB2b2lkIGJlZ2luU2ltdWxhdGVkSERDUEVycm9yKCk7CisgICAgdm9pZCBlbmRTaW11
bGF0ZWRIRENQRXJyb3IoKTsKKworICAgIHZvaWQgbm90aWZ5QWN0aXZlU291cmNlQnVmZmVyc0No
YW5nZWQoKTsKKworICAgIHZvaWQgYXBwbGljYXRpb25XaWxsUmVzaWduQWN0aXZlKCk7CisgICAg
dm9pZCBhcHBsaWNhdGlvbkRpZEJlY29tZUFjdGl2ZSgpOworCiAgICAgUmVmPFdlYkNvcmU6OlBs
YXRmb3JtTWVkaWFSZXNvdXJjZT4gcmVxdWVzdFJlc291cmNlKFdlYkNvcmU6OlJlc291cmNlUmVx
dWVzdCYmLCBXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhUmVzb3VyY2VMb2FkZXI6OkxvYWRPcHRpb25z
KTsKICAgICB2b2lkIHJlbW92ZVJlc291cmNlKFJlbW90ZU1lZGlhUmVzb3VyY2VJZGVudGlmaWVy
KTsKIApAQCAtMTQ5LDcgKzE2Niw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBtZWRpYVBsYXllcldh
aXRpbmdGb3JLZXlDaGFuZ2VkKCkgZmluYWw7CiAjZW5kaWYKIAotICAgIHZvaWQgbWVkaWFQbGF5
ZXJDdXJyZW50UGxheWJhY2tUYXJnZXRJc1dpcmVsZXNzQ2hhbmdlZCgpIGZpbmFsOworICAgIHZv
aWQgbWVkaWFQbGF5ZXJDdXJyZW50UGxheWJhY2tUYXJnZXRJc1dpcmVsZXNzQ2hhbmdlZChib29s
KSBmaW5hbDsKIAogICAgIFN0cmluZyBtZWRpYVBsYXllclJlZmVycmVyKCkgY29uc3QgZmluYWw7
CiAgICAgU3RyaW5nIG1lZGlhUGxheWVyVXNlckFnZW50KCkgY29uc3QgZmluYWw7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94
eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRp
YVBsYXllclByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IDM3YjcwNWY5MTI5ZTcxNWFiNWQ3YWFhNDdk
M2JkNWUyNjg5MzQ1M2QuLjM5NjA3MDdlNGI0ODhlODZhZDU1N2U1NGNkNjliMDZjNjI2YzBmY2Eg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBs
YXllclByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRp
YS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluCkBAIC01NSw2ICs1NSwzMiBAQCBt
ZXNzYWdlcyAtPiBSZW1vdGVNZWRpYVBsYXllclByb3h5IE5vdFJlZkNvdW50ZWQgewogCiAgICAg
QXVkaW9UcmFja1NldEVuYWJsZWQoV2ViS2l0OjpUcmFja1ByaXZhdGVSZW1vdGVJZGVudGlmaWVy
IHRyYWNrSUQsIGJvb2wgZW5hYmxlZCkKICAgICBWaWRlb1RyYWNrU2V0U2VsZWN0ZWQoV2ViS2l0
OjpUcmFja1ByaXZhdGVSZW1vdGVJZGVudGlmaWVyIHRyYWNrSUQsIGJvb2wgZW5hYmxlZCkKKwor
ICAgICMgUGFpbnQKKyAgICAjIFBhaW50Q3VycmVudEZyYW1lSW5Db250ZXh0CisKKyNpZiBFTkFC
TEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKQorICAgIFNldFdpcmVsZXNzVmlkZW9QbGF5YmFj
a0Rpc2FibGVkKGJvb2wgZGlzYWJsZWQpCisgICAgIyBTZXRXaXJlbGVzc1BsYXliYWNrVGFyZ2V0
KFdlYkNvcmU6Ok1lZGlhUGxheWJhY2tUYXJnZXQpCisgICAgU2V0U2hvdWxkUGxheVRvUGxheWJh
Y2tUYXJnZXQoYm9vbCBzaG91bGRQbGF5KQorI2VuZGlmCisKKyNpZiBFTkFCTEUoTEVHQUNZX0VO
Q1JZUFRFRF9NRURJQSkKKyAgICAjIFNldENETVNlc3Npb24KKyAgICBLZXlBZGRlZCgpCisgICAg
IyBDZG1JbnN0YW5jZUF0dGFjaGVkCisgICAgIyBDZG1JbnN0YW5jZURldGFjaGVkCisgICAgIyBB
dHRlbXB0VG9EZWNyeXB0V2l0aEluc3RhbmNlCisjZW5kaWYKKworICAgIEJlZ2luU2ltdWxhdGVk
SERDUEVycm9yKCkKKyAgICBFbmRTaW11bGF0ZWRIRENQRXJyb3IoKQorCisgICAgTm90aWZ5QWN0
aXZlU291cmNlQnVmZmVyc0NoYW5nZWQoKQorCisgICAgQXBwbGljYXRpb25XaWxsUmVzaWduQWN0
aXZlKCkKKyAgICBBcHBsaWNhdGlvbkRpZEJlY29tZUFjdGl2ZSgpCisKIH0KIAogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVy
UHJpdmF0ZVJlbW90ZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01l
ZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAKaW5kZXggZGVlYTQ0ZGJmY2QxNTU5NjhlODIwNDdh
M2M5OTZlODZmMTU3MzAxNi4uYTA0ODY3N2U0MzJjZjg2OWJkMDZmYzIxNmQ5MzNkOGRjZTMyZjU2
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBs
YXllclByaXZhdGVSZW1vdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcApAQCAtNjc0LDE1ICs2NzQsMjAgQEAg
Ym9vbCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OndpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2Fi
bGVkKCkgY29uc3QKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotdm9pZCBNZWRpYVBsYXllclByaXZh
dGVSZW1vdGU6OnNldFdpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkKGJvb2wpCit2b2lkIE1l
ZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6c2V0V2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWQo
Ym9vbCBkaXNhYmxlZCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIGNvbm5lY3Rpb24o
KS5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjpTZXRXaXJlbGVzc1ZpZGVv
UGxheWJhY2tEaXNhYmxlZChkaXNhYmxlZCksIG1faWQpOworfQorCit2b2lkIE1lZGlhUGxheWVy
UHJpdmF0ZVJlbW90ZTo6Y3VycmVudFBsYXliYWNrVGFyZ2V0SXNXaXJlbGVzc0NoYW5nZWQoYm9v
bCBpc0N1cnJlbnRQbGF5YmFja1RhcmdldFdpcmVsZXNzKQoreworICAgIG1faXNDdXJyZW50UGxh
eWJhY2tUYXJnZXRXaXJlbGVzcyA9IGlzQ3VycmVudFBsYXliYWNrVGFyZ2V0V2lyZWxlc3M7Cisg
ICAgbV9wbGF5ZXItPmN1cnJlbnRQbGF5YmFja1RhcmdldElzV2lyZWxlc3NDaGFuZ2VkKGlzQ3Vy
cmVudFBsYXliYWNrVGFyZ2V0V2lyZWxlc3MpOwogfQogCiBib29sIE1lZGlhUGxheWVyUHJpdmF0
ZVJlbW90ZTo6aXNDdXJyZW50UGxheWJhY2tUYXJnZXRXaXJlbGVzcygpIGNvbnN0CiB7Ci0gICAg
bm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIG1faXNDdXJy
ZW50UGxheWJhY2tUYXJnZXRXaXJlbGVzczsKIH0KIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVS
ZW1vdGU6OnNldFdpcmVsZXNzUGxheWJhY2tUYXJnZXQoUmVmPE1lZGlhUGxheWJhY2tUYXJnZXQ+
JiYpCkBAIC02OTAsOSArNjk1LDkgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnNl
dFdpcmVsZXNzUGxheWJhY2tUYXJnZXQoUmVmPE1lZGlhUGxheWJhY2tUYXJnZXQKICAgICBub3RJ
bXBsZW1lbnRlZCgpOwogfQogCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6c2V0U2hv
dWxkUGxheVRvUGxheWJhY2tUYXJnZXQoYm9vbCkKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVt
b3RlOjpzZXRTaG91bGRQbGF5VG9QbGF5YmFja1RhcmdldChib29sIHNob3VsZFBsYXkpCiB7Ci0g
ICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBjb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6UmVt
b3RlTWVkaWFQbGF5ZXJQcm94eTo6U2V0U2hvdWxkUGxheVRvUGxheWJhY2tUYXJnZXQoc2hvdWxk
UGxheSksIG1faWQpOwogfQogI2VuZGlmCiAKQEAgLTc4NSw3ICs3OTAsNyBAQCB2b2lkIE1lZGlh
UGxheWVyUHJpdmF0ZVJlbW90ZTo6c2V0Q0RNU2Vzc2lvbihMZWdhY3lDRE1TZXNzaW9uKikKIAog
dm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OmtleUFkZGVkKCkKIHsKLSAgICBub3RJbXBs
ZW1lbnRlZCgpOworICAgIGNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVBs
YXllclByb3h5OjpLZXlBZGRlZCgpLCBtX2lkKTsKIH0KICNlbmRpZgogCkBAIC04MDUsNiArODEw
LDEyIEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjphdHRlbXB0VG9EZWNyeXB0V2l0
aEluc3RhbmNlKENETUluc3RhbmNlJikKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCit2b2lk
IE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6d2FpdGluZ0ZvcktleUNoYW5nZWQoKQoreworICAg
IGlmIChtX3BsYXllcikKKyAgICAgICAgbV9wbGF5ZXItPndhaXRpbmdGb3JLZXlDaGFuZ2VkKCk7
Cit9CisKIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjp3YWl0aW5nRm9yS2V5KCkgY29u
c3QKIHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwpAQCAtODQ0LDEyICs4NTUsMTIgQEAgdm9pZCBN
ZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnNpbXVsYXRlQXVkaW9JbnRlcnJ1cHRpb24oKQogCiB2
b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6YmVnaW5TaW11bGF0ZWRIRENQRXJyb3IoKQog
ewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6
OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6OkJlZ2luU2ltdWxhdGVkSERDUEVycm9yKCksIG1faWQp
OwogfQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6ZW5kU2ltdWxhdGVkSERDUEVy
cm9yKCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIGNvbm5lY3Rpb24oKS5zZW5kKE1l
c3NhZ2VzOjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjpFbmRTaW11bGF0ZWRIRENQRXJyb3IoKSwg
bV9pZCk7CiB9CiAKIFN0cmluZyBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6Omxhbmd1YWdlT2ZQ
cmltYXJ5QXVkaW9UcmFjaygpIGNvbnN0CkBAIC04OTEsMTcgKzkwMiwxOCBAQCB2b2lkIE1lZGlh
UGxheWVyUHJpdmF0ZVJlbW90ZTo6bm90aWZ5VHJhY2tNb2RlQ2hhbmdlZCgpCiAKIHZvaWQgTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpub3RpZnlBY3RpdmVTb3VyY2VCdWZmZXJzQ2hhbmdlZCgp
CiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICAvLyBGSVhNRTogdGhpcyBqdXN0IHJvdW5k
cyB0cmlwIHVwIGFuZCBkb3duIHRvIGFjdGl2ZVNvdXJjZUJ1ZmZlcnNDaGFuZ2VkKCkuIFNob3Vs
ZCB0aGlzIGNhbGwgOjphY3RpdmVTb3VyY2VCdWZmZXJzQ2hhbmdlZCBkaXJlY3RseT8KKyAgICBj
b25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6Tm90aWZ5
QWN0aXZlU291cmNlQnVmZmVyc0NoYW5nZWQoKSwgbV9pZCk7CiB9CiAKIHZvaWQgTWVkaWFQbGF5
ZXJQcml2YXRlUmVtb3RlOjphcHBsaWNhdGlvbldpbGxSZXNpZ25BY3RpdmUoKQogewotICAgIG5v
dEltcGxlbWVudGVkKCk7CisgICAgY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OlJlbW90ZU1l
ZGlhUGxheWVyUHJveHk6OkFwcGxpY2F0aW9uV2lsbFJlc2lnbkFjdGl2ZSgpLCBtX2lkKTsKIH0K
IAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OmFwcGxpY2F0aW9uRGlkQmVjb21lQWN0
aXZlKCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIGNvbm5lY3Rpb24oKS5zZW5kKE1l
c3NhZ2VzOjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjpBcHBsaWNhdGlvbkRpZEJlY29tZUFjdGl2
ZSgpLCBtX2lkKTsKIH0KIAogYm9vbCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnBlcmZvcm1U
YXNrQXRNZWRpYVRpbWUoV1RGOjpGdW5jdGlvbjx2b2lkKCk+JiYsIE1lZGlhVGltZSkKQEAgLTky
OCw2ICs5NDAsMjEgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnJlbW92ZVJlc291
cmNlKFJlbW90ZU1lZGlhUmVzb3VyY2VJZGVudGlmaWVyIHJlbW8KICAgICBtX21lZGlhUmVzb3Vy
Y2VzLnJlbW92ZShyZW1vdGVNZWRpYVJlc291cmNlSWRlbnRpZmllcik7CiB9CiAKK3ZvaWQgTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpyZXNvdXJjZU5vdFN1cHBvcnRlZCgpCit7CisgICAgbV9w
bGF5ZXItPnJlc291cmNlTm90U3VwcG9ydGVkKCk7Cit9CisKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2
YXRlUmVtb3RlOjplbmdpbmVVcGRhdGVkKCkKK3sKKyAgICBtX3BsYXllci0+bWVkaWFFbmdpbmVV
cGRhdGVkKCk7Cit9CisKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjphY3RpdmVTb3Vy
Y2VCdWZmZXJzQ2hhbmdlZCgpCit7CisgICAgbV9wbGF5ZXItPmFjdGl2ZVNvdXJjZUJ1ZmZlcnND
aGFuZ2VkKCk7Cit9CisKICNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKIFdURkxvZ0NoYW5uZWwm
IE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6bG9nQ2hhbm5lbCgpIGNvbnN0CiB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0
ZVJlbW90ZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXll
clByaXZhdGVSZW1vdGUuaAppbmRleCAwY2RiODU0YjNiZWI2YmVlOTgzMGMyOTdmYTUyODc3ODY0
YTgyMWFlLi5mYTgwMGM2OTRlMzdkM2U0NGZlOTFmNzYzNjgxYTIxMTQ4ZWI3NDk2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0
ZVJlbW90ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQ
bGF5ZXJQcml2YXRlUmVtb3RlLmgKQEAgLTkyLDYgKzkyLDE5IEBAIHB1YmxpYzoKIAogICAgIHZv
aWQgcmVxdWVzdFJlc291cmNlKFJlbW90ZU1lZGlhUmVzb3VyY2VJZGVudGlmaWVyLCBXZWJDb3Jl
OjpSZXNvdXJjZVJlcXVlc3QmJiwgV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVJlc291cmNlTG9hZGVy
OjpMb2FkT3B0aW9ucywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIHJl
bW92ZVJlc291cmNlKFJlbW90ZU1lZGlhUmVzb3VyY2VJZGVudGlmaWVyKTsKKyAgICB2b2lkIHJl
c291cmNlTm90U3VwcG9ydGVkKCk7CisKKyAgICB2b2lkIGVuZ2luZVVwZGF0ZWQoKTsKKworICAg
IHZvaWQgYWN0aXZlU291cmNlQnVmZmVyc0NoYW5nZWQoKTsKKworI2lmIEVOQUJMRShFTkNSWVBU
RURfTUVESUEpCisgICAgdm9pZCB3YWl0aW5nRm9yS2V5Q2hhbmdlZCgpOworI2VuZGlmCisKKyNp
ZiBFTkFCTEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKQorICAgIHZvaWQgY3VycmVudFBsYXli
YWNrVGFyZ2V0SXNXaXJlbGVzc0NoYW5nZWQoYm9vbCk7CisjZW5kaWYKIAogI2lmICFSRUxFQVNF
X0xPR19ESVNBQkxFRAogICAgIGNvbnN0IExvZ2dlciYgbG9nZ2VyKCkgY29uc3QgZmluYWwgeyBy
ZXR1cm4gKm1fbG9nZ2VyOyB9CkBAIC0zNDIsNiArMzU1LDcgQEAgcHJpdmF0ZToKICAgICBib29s
IG1faGFzVmlkZW8geyBmYWxzZSB9OwogICAgIGJvb2wgbV9tdXRlZCB7IGZhbHNlIH07CiAgICAg
Ym9vbCBtX3NlZWtpbmcgeyBmYWxzZSB9OworICAgIGJvb2wgbV9pc0N1cnJlbnRQbGF5YmFja1Rh
cmdldFdpcmVsZXNzIHsgZmFsc2UgfTsKIAogI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAogICAg
IFJlZlB0cjxjb25zdCBMb2dnZXI+IG1fbG9nZ2VyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUubWVzc2FnZXMu
aW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0
ZVJlbW90ZS5tZXNzYWdlcy5pbgppbmRleCA1NWVhYmYzYWYyMmFhODk4YjE0MTk3OTA5M2Y4YjU4
MDFlMjYwODNkLi5mZWRjMDU2YjA3MTA5NTFiMDVmNTI5YmVlMjU0YmQ0ZjQ0MmEyNWQ2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJp
dmF0ZVJlbW90ZS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BV
L21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5tZXNzYWdlcy5pbgpAQCAtNDgsNiArNDgs
MTkgQEAgbWVzc2FnZXMgLT4gTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlIE5vdFJlZkNvdW50ZWQg
ewogCiAgICAgUmVxdWVzdFJlc291cmNlKFdlYktpdDo6UmVtb3RlTWVkaWFSZXNvdXJjZUlkZW50
aWZpZXIgcmVtb3RlTWVkaWFSZXNvdXJjZUlkZW50aWZpZXIsIFdlYkNvcmU6OlJlc291cmNlUmVx
dWVzdCByZXF1ZXN0LCBlbnVtOnVpbnQ4X3QgV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVJlc291cmNl
TG9hZGVyOjpMb2FkT3B0aW9ucyBvcHRpb25zKSAtPiAoKSBBc3luYwogICAgIFJlbW92ZVJlc291
cmNlKFdlYktpdDo6UmVtb3RlTWVkaWFSZXNvdXJjZUlkZW50aWZpZXIgcmVtb3RlTWVkaWFSZXNv
dXJjZUlkZW50aWZpZXIpCisgICAgUmVzb3VyY2VOb3RTdXBwb3J0ZWQoKQorCisgICAgRW5naW5l
VXBkYXRlZCgpCisKKyAgICBBY3RpdmVTb3VyY2VCdWZmZXJzQ2hhbmdlZCgpCisKKyNpZiBFTkFC
TEUoRU5DUllQVEVEX01FRElBKQorICAgIFdhaXRpbmdGb3JLZXlDaGFuZ2VkKCkKKyNlbmRpZgor
CisjaWYgRU5BQkxFKFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkKKyAgICBDdXJyZW50UGxheWJh
Y2tUYXJnZXRJc1dpcmVsZXNzQ2hhbmdlZChib29sIGlzQ3VycmVudFBsYXliYWNrVGFyZ2V0V2ly
ZWxlc3MpCisjZW5kaWYKIH0KIAogI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388481</attachid>
            <date>2020-01-22 16:13:03 -0800</date>
            <delta_ts>2020-01-22 22:31:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206468-20200122161302.patch</filename>
            <type>text/plain</type>
            <size>22976</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0OTQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzFlN2NlNjRhYzRhNjM4
Y2NhOTJkOGVlMmUzYTM5MDc2NTQxZWMyYy4uODVlY2VmNWRiNTg5YTZlNDNiOWY0ZjNjMDNkMTUy
MjE1ZGYzYzNmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIwLTAxLTIyICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBbTWVkaWEgaW4gR1BVIHByb2Nlc3Nd
IFBpcGUgbW9yZSBNZWRpYVBsYXllclByaXZhdGUgYW5kIGNsaWVudCBtZXRob2RzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDY0NjgKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0bWwvSFRNTE1lZGlh
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBs
YXllckN1cnJlbnRQbGF5YmFja1RhcmdldElzV2lyZWxlc3NDaGFuZ2VkKToKKyAgICAgICAgKiBo
dG1sL0hUTUxNZWRpYUVsZW1lbnQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRp
YVBsYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllcjo6Y3VycmVudFBsYXli
YWNrVGFyZ2V0SXNXaXJlbGVzc0NoYW5nZWQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L01lZGlhUGxheWVyLmg6IEFkZCByZXNvdXJjZU5vdFN1cHBvcnRlZCgpIHRvIGNhbGwgdXAgdG8g
dGhlIGNsaWVudC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyQ2xpZW50OjptZWRpYVBs
YXllckN1cnJlbnRQbGF5YmFja1RhcmdldElzV2lyZWxlc3NDaGFuZ2VkKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0
aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bjo6cGxheWJhY2tUYXJnZXRJc1dpcmVsZXNzQ2hhbmdlZCk6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VB
VkZPYmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3Vy
Y2VBVkZPYmpDOjpzZXRTaG91bGRQbGF5VG9QbGF5YmFja1RhcmdldCk6CisKIDIwMjAtMDEtMjIg
IFNhaWQgQWJvdS1IYWxsYXdhICA8c2Fib3VoYWxsYXdhQGFwcGxlLmNvbT4KIAogICAgICAgICBS
ZW1vdmUgSW1hZ2VCdWZmZXI6OnNpemVGb3JEZXN0aW5hdGlvblNpemUoKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA0
ZjBkMmUxMjdkNjZiMGRlMzlkYzkxYjdkZmIyOGFjMjliOWViYzk3Li45MzExZDc0YmY3NmJmYzM2
ODk1MDJlMjA4Y2YyNTYzNmQ0MjQxYjI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDIw
LTAxLTIyICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBbTWVkaWEgaW4g
R1BVIHByb2Nlc3NdIFBpcGUgbW9yZSBNZWRpYVBsYXllclByaXZhdGUgYW5kIGNsaWVudCBtZXRo
b2RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDY0
NjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQaXBl
IG1vcmUgb2YgdGhlIG1lZGlhIHBsYXllciBhbmQgY2xpZW50IGZ1bmN0aW9ucy4gR2VuZXJhbGx5
LCB0aGVzZSBhcmUgdm9pZCBmdW5jdGlvbnMKKyAgICAgICAgdGhhdCByZXF1aXJlIG5vIHBhcmFt
ZXRlcnMuCisKKyAgICAgICAgQWxzbywgdGhlIGNsaWVudCAqY2hhbmdlZCgpIGZ1bmN0aW9ucywg
d2hlbiBpbXBsZW1lbnRlZCwgdGVuZCB0byBjYWxsIHRoZSBhY2Nlc3NvciBvZiB0aGUgcHJvcGVy
dHkKKyAgICAgICAgdGhhdCBqdXN0IGNoYW5nZWQuIFRoaXMgc2VlbXMgcmF0aGVyIGNpcmN1aXRv
dXMuIFRoZSBjbGllbnQgbWV0aG9kcyBvdWdodCB0byBqdXN0IGFsc28gcGFzcyBhbG9uZworICAg
ICAgICB0aGUgdmFsdWUgb2YgdGhlIG5ldyBjaGFuZ2VkIHZhbHVlLiBUaGlzIHBhdGNoIHJlZmFj
dG9ycyBtZWRpYVBsYXllckN1cnJlbnRQbGF5YmFja1RhcmdldElzV2lyZWxlc3NDaGFuZ2VkCisg
ICAgICAgIHRvIGRvIGV4YWN0bHkgdGhhdC4KKworICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlh
UGxheWVyUHJveHk6Om1lZGlhUGxheWVyUmVzb3VyY2VOb3RTdXBwb3J0ZWQpOgorICAgICAgICAo
V2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXllckVuZ2luZVVwZGF0ZWQp
OgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXllckFj
dGl2ZVNvdXJjZUJ1ZmZlcnNDaGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFQ
bGF5ZXJQcm94eTo6bWVkaWFQbGF5ZXJXYWl0aW5nRm9yS2V5Q2hhbmdlZCk6CisgICAgICAgIChX
ZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6Om1lZGlhUGxheWVyQ3VycmVudFBsYXliYWNr
VGFyZ2V0SXNXaXJlbGVzc0NoYW5nZWQpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBs
YXllclByb3h5OjpzZXRXaXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZCk6CisgICAgICAgIChX
ZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6OnNldFNob3VsZFBsYXlUb1BsYXliYWNrVGFy
Z2V0KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6a2V5QWRkZWQp
OgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjpiZWdpblNpbXVsYXRl
ZEhEQ1BFcnJvcik6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6OmVu
ZFNpbXVsYXRlZEhEQ1BFcnJvcik6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVy
UHJveHk6Om5vdGlmeUFjdGl2ZVNvdXJjZUJ1ZmZlcnNDaGFuZ2VkKToKKyAgICAgICAgKFdlYktp
dDo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6YXBwbGljYXRpb25XaWxsUmVzaWduQWN0aXZlKToK
KyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6YXBwbGljYXRpb25EaWRC
ZWNvbWVBY3RpdmUpOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5
ZXJQcm94eS5oOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQ
cm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBs
YXllclByaXZhdGVSZW1vdGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVBsYXllclByaXZh
dGVSZW1vdGU6OnNldFdpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkKToKKyAgICAgICAgKFdl
YktpdDo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpjdXJyZW50UGxheWJhY2tUYXJnZXRJc1dp
cmVsZXNzQ2hhbmdlZCk6IENhY2hlIHZhbHVlIGluIG5ldyBtZW1iZXIgdmFyaWFibGUuCisgICAg
ICAgIChXZWJLaXQ6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6aXNDdXJyZW50UGxheWJhY2tU
YXJnZXRXaXJlbGVzcyBjb25zdCk6IFJldHVybiB2YWx1ZS4KKyAgICAgICAgKFdlYktpdDo6TWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpzZXRTaG91bGRQbGF5VG9QbGF5YmFja1RhcmdldCk6Cisg
ICAgICAgIChXZWJLaXQ6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6a2V5QWRkZWQpOgorICAg
ICAgICAoV2ViS2l0OjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OndhaXRpbmdGb3JLZXlDaGFu
Z2VkKToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpiZWdpblNp
bXVsYXRlZEhEQ1BFcnJvcik6CisgICAgICAgIChXZWJLaXQ6Ok1lZGlhUGxheWVyUHJpdmF0ZVJl
bW90ZTo6ZW5kU2ltdWxhdGVkSERDUEVycm9yKToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFQbGF5
ZXJQcml2YXRlUmVtb3RlOjpub3RpZnlBY3RpdmVTb3VyY2VCdWZmZXJzQ2hhbmdlZCk6CisgICAg
ICAgIChXZWJLaXQ6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6YXBwbGljYXRpb25XaWxsUmVz
aWduQWN0aXZlKToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjph
cHBsaWNhdGlvbkRpZEJlY29tZUFjdGl2ZSk6CisgICAgICAgIChXZWJLaXQ6Ok1lZGlhUGxheWVy
UHJpdmF0ZVJlbW90ZTo6cmVzb3VyY2VOb3RTdXBwb3J0ZWQpOgorICAgICAgICAoV2ViS2l0OjpN
ZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OmVuZ2luZVVwZGF0ZWQpOgorICAgICAgICAoV2ViS2l0
OjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OmFjdGl2ZVNvdXJjZUJ1ZmZlcnNDaGFuZ2VkKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUu
aDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1v
dGUubWVzc2FnZXMuaW46CisKIDIwMjAtMDEtMjIgIEtlaXRoIFJvbGxpbiAgPGtyb2xsaW5AYXBw
bGUuY29tPgogCiAgICAgICAgIEZpeCBTREsgYXZhaWxhYmlsaXR5IG1hY3JvcwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggNzY1MzdhNDAxZGIyZDFkNGI4ZWFi
MGMxNmIwMTk5ZDdjZTQwNzBhOS4uODVmZGUzOGU3ZmVkYmU5N2FjOGQ4YTY2ZDZjYzM3OTNjODIx
MGJhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC01ODEy
LDkgKzU4MTIsOSBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OndpcmVsZXNzUm91dGVzQXZhaWxh
YmxlRGlkQ2hhbmdlKCkKICAgICBlbnF1ZXVlUGxheWJhY2tUYXJnZXRBdmFpbGFiaWxpdHlDaGFu
Z2VkRXZlbnQoKTsKIH0KIAotdm9pZCBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllckN1cnJl
bnRQbGF5YmFja1RhcmdldElzV2lyZWxlc3NDaGFuZ2VkKCkKK3ZvaWQgSFRNTE1lZGlhRWxlbWVu
dDo6bWVkaWFQbGF5ZXJDdXJyZW50UGxheWJhY2tUYXJnZXRJc1dpcmVsZXNzQ2hhbmdlZChib29s
IGlzQ3VycmVudFBsYXlCYWNrVGFyZ2V0V2lyZWxlc3MpCiB7Ci0gICAgc2V0SXNQbGF5aW5nVG9X
aXJlbGVzc1RhcmdldChtX3BsYXllciAmJiBtX3BsYXllci0+aXNDdXJyZW50UGxheWJhY2tUYXJn
ZXRXaXJlbGVzcygpKTsKKyAgICBzZXRJc1BsYXlpbmdUb1dpcmVsZXNzVGFyZ2V0KG1fcGxheWVy
ICYmIGlzQ3VycmVudFBsYXlCYWNrVGFyZ2V0V2lyZWxlc3MpOwogfQogCiB2b2lkIEhUTUxNZWRp
YUVsZW1lbnQ6OnNldElzUGxheWluZ1RvV2lyZWxlc3NUYXJnZXQoYm9vbCBpc1BsYXlpbmdUb1dp
cmVsZXNzVGFyZ2V0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFF
bGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAppbmRleCBh
YjY1MTViNWVjM2IwZjY2Y2ZjZTZlMDliOTZmOGI2MjczYzY0ZTE0Li41NTIyZjhjZTUyYTAzOTc3
MDg2ZWJkNjAzOTRiNmI5YTgxMmU1ODViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxNZWRpYUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVs
ZW1lbnQuaApAQCAtNjk4LDcgKzY5OCw3IEBAIHByaXZhdGU6CiAjZW5kaWYKICAgICAKICNpZiBF
TkFCTEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKQotICAgIHZvaWQgbWVkaWFQbGF5ZXJDdXJy
ZW50UGxheWJhY2tUYXJnZXRJc1dpcmVsZXNzQ2hhbmdlZCgpIGZpbmFsOworICAgIHZvaWQgbWVk
aWFQbGF5ZXJDdXJyZW50UGxheWJhY2tUYXJnZXRJc1dpcmVsZXNzQ2hhbmdlZChib29sKSBmaW5h
bDsKICAgICB2b2lkIGVucXVldWVQbGF5YmFja1RhcmdldEF2YWlsYWJpbGl0eUNoYW5nZWRFdmVu
dCgpOwogCiAgICAgdXNpbmcgRXZlbnRUYXJnZXQ6OmRpc3BhdGNoRXZlbnQ7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKaW5kZXggODAyOTBm
NmJmNmRiY2Y2ZjA3NmIyMGMyMTU2NWQxOWFjZmY4MWZiMy4uY2E3MWU3ZTBiNTg2YzdiNTViMTEy
NzMyYmFkNTliMDFkOGE0MTgxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL01lZGlhUGxheWVyLmNwcApAQCAtMTA0NCw5ICsxMDQ0LDkgQEAgdm9pZCBNZWRpYVBs
YXllcjo6c2V0V2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWQoYm9vbCBkaXNhYmxlZCkKICAg
ICBtX3ByaXZhdGUtPnNldFdpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkKGRpc2FibGVkKTsK
IH0KIAotdm9pZCBNZWRpYVBsYXllcjo6Y3VycmVudFBsYXliYWNrVGFyZ2V0SXNXaXJlbGVzc0No
YW5nZWQoKQordm9pZCBNZWRpYVBsYXllcjo6Y3VycmVudFBsYXliYWNrVGFyZ2V0SXNXaXJlbGVz
c0NoYW5nZWQoYm9vbCBpc0N1cnJlbnRQbGF5YmFja1RhcmdldFdpcmVsZXNzKQogewotICAgIGNs
aWVudCgpLm1lZGlhUGxheWVyQ3VycmVudFBsYXliYWNrVGFyZ2V0SXNXaXJlbGVzc0NoYW5nZWQo
KTsKKyAgICBjbGllbnQoKS5tZWRpYVBsYXllckN1cnJlbnRQbGF5YmFja1RhcmdldElzV2lyZWxl
c3NDaGFuZ2VkKGlzQ3VycmVudFBsYXliYWNrVGFyZ2V0V2lyZWxlc3MpOwogfQogCiBib29sIE1l
ZGlhUGxheWVyOjpjYW5QbGF5VG9XaXJlbGVzc1BsYXliYWNrVGFyZ2V0KCkgY29uc3QKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCmluZGV4IDE4M2Q4
YjUwMjU5N2YxYTVjOWQ0NTJmNmM0MmVjODgxYzZjNGU5ZGMuLjdlNmNiOGEzOTBkZjdmZTFhN2Fh
ZTAxNzM5ZGM5NDhmNzc2NjIxZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhUGxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvTWVkaWFQbGF5ZXIuaApAQCAtMjEwLDcgKzIxMCw3IEBAIHB1YmxpYzoKICNlbmRpZgog
ICAgIAogI2lmIEVOQUJMRShXSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpCi0gICAgdmlydHVhbCB2
b2lkIG1lZGlhUGxheWVyQ3VycmVudFBsYXliYWNrVGFyZ2V0SXNXaXJlbGVzc0NoYW5nZWQoKSB7
IH07CisgICAgdmlydHVhbCB2b2lkIG1lZGlhUGxheWVyQ3VycmVudFBsYXliYWNrVGFyZ2V0SXNX
aXJlbGVzc0NoYW5nZWQoYm9vbCkgeyB9OwogI2VuZGlmCiAKICAgICB2aXJ0dWFsIFN0cmluZyBt
ZWRpYVBsYXllclJlZmVycmVyKCkgY29uc3QgeyByZXR1cm4gU3RyaW5nKCk7IH0KQEAgLTQ2OSw3
ICs0NjksNyBAQCBwdWJsaWM6CiAgICAgYm9vbCB3aXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxl
ZCgpIGNvbnN0OwogICAgIHZvaWQgc2V0V2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWQoYm9v
bCk7CiAKLSAgICB2b2lkIGN1cnJlbnRQbGF5YmFja1RhcmdldElzV2lyZWxlc3NDaGFuZ2VkKCk7
CisgICAgdm9pZCBjdXJyZW50UGxheWJhY2tUYXJnZXRJc1dpcmVsZXNzQ2hhbmdlZChib29sKTsK
ICAgICB2b2lkIHBsYXliYWNrVGFyZ2V0QXZhaWxhYmlsaXR5Q2hhbmdlZCgpOwogCiAgICAgYm9v
bCBpc0N1cnJlbnRQbGF5YmFja1RhcmdldFdpcmVsZXNzKCkgY29uc3Q7CkBAIC02MjAsNiArNjIw
LDcgQEAgcHVibGljOgogICAgIGNvbnN0IFN0cmluZyYgbWVkaWFDYWNoZURpcmVjdG9yeSgpIGNv
bnN0IHsgcmV0dXJuIGNsaWVudCgpLm1lZGlhUGxheWVyTWVkaWFDYWNoZURpcmVjdG9yeSgpOyB9
CiAgICAgYm9vbCBpc1ZpZGVvUGxheWVyKCkgY29uc3QgeyByZXR1cm4gY2xpZW50KCkubWVkaWFQ
bGF5ZXJJc1ZpZGVvKCk7IH0KICAgICB2b2lkIG1lZGlhRW5naW5lVXBkYXRlZCgpIHsgY2xpZW50
KCkubWVkaWFQbGF5ZXJFbmdpbmVVcGRhdGVkKCk7IH0KKyAgICB2b2lkIHJlc291cmNlTm90U3Vw
cG9ydGVkKCkgeyBjbGllbnQoKS5tZWRpYVBsYXllclJlc291cmNlTm90U3VwcG9ydGVkKCk7IH0K
ICAgICBib29sIGlzTG9vcGluZygpIGNvbnN0IHsgcmV0dXJuIGNsaWVudCgpLm1lZGlhUGxheWVy
SXNMb29waW5nKCk7IH0KIAogICAgIHZvaWQgcmVtb3RlRW5naW5lRmFpbGVkVG9Mb2FkKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24u
Y3BwCmluZGV4IDliODk3M2I2MWUwMTUyMDEzYzhlZTdjMzliOTBmODY5NDc1YWNkMTAuLmM1OTI4
YmJjOWIyMDBkNDY5Y2U3MjE4ODQ5MDIxNzU4N2RkZTkxY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVB
VkZvdW5kYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uY3BwCkBAIC05NjIsNyAr
OTYyLDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb246OnByb2Nlc3NOZXdB
bmRSZW1vdmVkVGV4dFRyYWNrcyhjb25zdCBWZWN0b3IKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRl
QVZGb3VuZGF0aW9uOjpwbGF5YmFja1RhcmdldElzV2lyZWxlc3NDaGFuZ2VkKCkKIHsKICAgICBp
ZiAobV9wbGF5ZXIpCi0gICAgICAgIG1fcGxheWVyLT5jdXJyZW50UGxheWJhY2tUYXJnZXRJc1dp
cmVsZXNzQ2hhbmdlZCgpOworICAgICAgICBtX3BsYXllci0+Y3VycmVudFBsYXliYWNrVGFyZ2V0
SXNXaXJlbGVzc0NoYW5nZWQobV9wbGF5ZXItPmlzQ3VycmVudFBsYXliYWNrVGFyZ2V0V2lyZWxl
c3MoKSk7CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VB
VkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tCmluZGV4IGZlMGUx
N2Y2YjBjNGNhYmViZDJhMDk4MDk3NTg1OTY2NDM1NGNiMjEuLjRlNDhmNzM4MDk4NjJmODEyOGMx
NTVmMGI0YmU1YTRiYWZlMzc4NjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNl
QVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0KQEAgLTEx
OTQsNyArMTE5NCw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpD
OjpzZXRTaG91bGRQbGF5VG9QbGF5YmFja1RhcmdldChib29sIHNoCiAgICAgbV9zaG91bGRQbGF5
VG9UYXJnZXQgPSBzaG91bGRQbGF5VG9UYXJnZXQ7CiAKICAgICBpZiAobV9wbGF5ZXIpCi0gICAg
ICAgIG1fcGxheWVyLT5jdXJyZW50UGxheWJhY2tUYXJnZXRJc1dpcmVsZXNzQ2hhbmdlZCgpOwor
ICAgICAgICBtX3BsYXllci0+Y3VycmVudFBsYXliYWNrVGFyZ2V0SXNXaXJlbGVzc0NoYW5nZWQo
bV9wbGF5ZXItPmlzQ3VycmVudFBsYXliYWNrVGFyZ2V0V2lyZWxlc3MoKSk7CiB9CiAKIGJvb2wg
TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjppc0N1cnJlbnRQbGF5YmFja1Rh
cmdldFdpcmVsZXNzKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcAppbmRleCAyOTRmYmQ3ZDk5Yzll
YzBiNGQxNjYyYjgxMjViOWRjOTU4ZDMxMTA0Li4zMGU3YTA4NWE2ZTcyZjRmMzVmMzJjMTFmYmU0
ZTdlYzMxYjNhNWY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3BwCkBAIC00MTUsNyArNDE1LDcgQEAgdm9p
ZCBSZW1vdGVNZWRpYVBsYXllclByb3h5Ojp2aWRlb1RyYWNrU2V0U2VsZWN0ZWQoVHJhY2tQcml2
YXRlUmVtb3RlSWRlbnRpZmllcgogLy8gRklYTUU6IFVuaW1wbGVtZW50ZWQKIHZvaWQgUmVtb3Rl
TWVkaWFQbGF5ZXJQcm94eTo6bWVkaWFQbGF5ZXJSZXNvdXJjZU5vdFN1cHBvcnRlZCgpCiB7Ci0g
ICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBtX3dlYlByb2Nlc3NDb25uZWN0aW9uLT5zZW5kKE1l
c3NhZ2VzOjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OlJlc291cmNlTm90U3VwcG9ydGVkKCks
IG1faWQpOwogfQogCiB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6Om1lZGlhUGxheWVyU2l6
ZUNoYW5nZWQoKQpAQCAtNDI1LDcgKzQyNSw3IEBAIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94
eTo6bWVkaWFQbGF5ZXJTaXplQ2hhbmdlZCgpCiAKIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94
eTo6bWVkaWFQbGF5ZXJFbmdpbmVVcGRhdGVkKCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwor
ICAgIG1fd2ViUHJvY2Vzc0Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6Ok1lZGlhUGxheWVyUHJp
dmF0ZVJlbW90ZTo6RW5naW5lVXBkYXRlZCgpLCBtX2lkKTsKIH0KIAogdm9pZCBSZW1vdGVNZWRp
YVBsYXllclByb3h5OjptZWRpYVBsYXllckZpcnN0VmlkZW9GcmFtZUF2YWlsYWJsZSgpCkBAIC00
NDEsNyArNDQxLDcgQEAgdm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXllclJl
bmRlcmluZ01vZGVDaGFuZ2VkKCkKIAogdm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRp
YVBsYXllckFjdGl2ZVNvdXJjZUJ1ZmZlcnNDaGFuZ2VkKCkKIHsKLSAgICBub3RJbXBsZW1lbnRl
ZCgpOworICAgIG1fd2ViUHJvY2Vzc0Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6Ok1lZGlhUGxh
eWVyUHJpdmF0ZVJlbW90ZTo6QWN0aXZlU291cmNlQnVmZmVyc0NoYW5nZWQoKSwgbV9pZCk7CiB9
CiAKICNpZiBFTkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkKQEAgLTQ2NiwxMiArNDY2LDI1
IEBAIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bWVkaWFQbGF5ZXJJbml0aWFsaXphdGlv
bkRhdGFFbmNvdW50ZXJlZChjb25zdCBTdHJpCiAKIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94
eTo6bWVkaWFQbGF5ZXJXYWl0aW5nRm9yS2V5Q2hhbmdlZCgpCiB7Ci0gICAgbm90SW1wbGVtZW50
ZWQoKTsKKyAgICBtX3dlYlByb2Nlc3NDb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpNZWRpYVBs
YXllclByaXZhdGVSZW1vdGU6OldhaXRpbmdGb3JLZXlDaGFuZ2VkKCksIG1faWQpOwogfQogI2Vu
ZGlmCiAKICNpZiBFTkFCTEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKQotdm9pZCBSZW1vdGVN
ZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXllckN1cnJlbnRQbGF5YmFja1RhcmdldElzV2lyZWxl
c3NDaGFuZ2VkKCkgeyB9Owordm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXll
ckN1cnJlbnRQbGF5YmFja1RhcmdldElzV2lyZWxlc3NDaGFuZ2VkKGJvb2wgaXNDdXJyZW50UGxh
eWJhY2tUYXJnZXRXaXJlbGVzcykKK3sKKyAgICBtX3dlYlByb2Nlc3NDb25uZWN0aW9uLT5zZW5k
KE1lc3NhZ2VzOjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OkN1cnJlbnRQbGF5YmFja1Rhcmdl
dElzV2lyZWxlc3NDaGFuZ2VkKGlzQ3VycmVudFBsYXliYWNrVGFyZ2V0V2lyZWxlc3MpLCBtX2lk
KTsKK30KKwordm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjpzZXRXaXJlbGVzc1ZpZGVvUGxh
eWJhY2tEaXNhYmxlZChib29sIGRpc2FibGVkKQoreworICAgIG1fcGxheWVyLT5zZXRXaXJlbGVz
c1ZpZGVvUGxheWJhY2tEaXNhYmxlZChkaXNhYmxlZCk7Cit9CisKK3ZvaWQgUmVtb3RlTWVkaWFQ
bGF5ZXJQcm94eTo6c2V0U2hvdWxkUGxheVRvUGxheWJhY2tUYXJnZXQoYm9vbCBzaG91bGRQbGF5
KQoreworICAgIG1fcGxheWVyLT5zZXRTaG91bGRQbGF5VG9QbGF5YmFja1RhcmdldChzaG91bGRQ
bGF5KTsKK30KICNlbmRpZgogCiB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6Om1lZGlhUGxh
eWVyRW50ZXJGdWxsc2NyZWVuKCkKQEAgLTY0Niw2ICs2NTksMzggQEAgdm9pZCBSZW1vdGVNZWRp
YVBsYXllclByb3h5OjpzZW5kQ2FjaGVkU3RhdGUoKQogICAgIG1fY2FjaGVkU3RhdGUuYnVmZmVy
ZWRSYW5nZXMuY2xlYXIoKTsKIH0KIAorI2lmIEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01FRElB
KQordm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjprZXlBZGRlZCgpCit7CisgICAgbV9wbGF5
ZXItPmtleUFkZGVkKCk7Cit9CisjZW5kaWYKKwordm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5
OjpiZWdpblNpbXVsYXRlZEhEQ1BFcnJvcigpCit7CisgICAgbV9wbGF5ZXItPmJlZ2luU2ltdWxh
dGVkSERDUEVycm9yKCk7Cit9CisKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6ZW5kU2lt
dWxhdGVkSERDUEVycm9yKCkKK3sKKyAgICBtX3BsYXllci0+ZW5kU2ltdWxhdGVkSERDUEVycm9y
KCk7Cit9CisKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bm90aWZ5QWN0aXZlU291cmNl
QnVmZmVyc0NoYW5nZWQoKQoreworICAgIG1fd2ViUHJvY2Vzc0Nvbm5lY3Rpb24tPnNlbmQoTWVz
c2FnZXM6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6QWN0aXZlU291cmNlQnVmZmVyc0NoYW5n
ZWQoKSwgbV9pZCk7Cit9CisKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6YXBwbGljYXRp
b25XaWxsUmVzaWduQWN0aXZlKCkKK3sKKyAgICBtX3BsYXllci0+YXBwbGljYXRpb25XaWxsUmVz
aWduQWN0aXZlKCk7Cit9CisKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6YXBwbGljYXRp
b25EaWRCZWNvbWVBY3RpdmUoKQoreworICAgIG1fcGxheWVyLT5hcHBsaWNhdGlvbkRpZEJlY29t
ZUFjdGl2ZSgpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI3VuZGVmIE1FU1NBR0Vf
Q0hFQ0tfQ09OVEVYVElECmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVk
aWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21l
ZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuaAppbmRleCA1YmE3ODNhOWE2OTAyYTcwODYwNWU1
YzY2NmY1OGU0MjUzNTdjNzIyLi5jYWE5NmEzNDI2ODM5ZjgxMGQxNDJjYzJhM2Y3NTc2MDg5NDE2
MzBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVk
aWFQbGF5ZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1v
dGVNZWRpYVBsYXllclByb3h5LmgKQEAgLTEwNiw2ICsxMDYsMjMgQEAgcHVibGljOgogICAgIHZv
aWQgYXVkaW9UcmFja1NldEVuYWJsZWQoVHJhY2tQcml2YXRlUmVtb3RlSWRlbnRpZmllciwgYm9v
bCk7CiAgICAgdm9pZCB2aWRlb1RyYWNrU2V0U2VsZWN0ZWQoVHJhY2tQcml2YXRlUmVtb3RlSWRl
bnRpZmllciwgYm9vbCk7CiAKKyNpZiBFTkFCTEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKQor
ICAgIHZvaWQgc2V0V2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWQoYm9vbCk7CisgICAgdm9p
ZCBzZXRTaG91bGRQbGF5VG9QbGF5YmFja1RhcmdldChib29sKTsKKyNlbmRpZgorCisjaWYgRU5B
QkxFKExFR0FDWV9FTkNSWVBURURfTUVESUEpCisgICAgdm9pZCBrZXlBZGRlZCgpOworI2VuZGlm
CisKKyAgICB2b2lkIGJlZ2luU2ltdWxhdGVkSERDUEVycm9yKCk7CisgICAgdm9pZCBlbmRTaW11
bGF0ZWRIRENQRXJyb3IoKTsKKworICAgIHZvaWQgbm90aWZ5QWN0aXZlU291cmNlQnVmZmVyc0No
YW5nZWQoKTsKKworICAgIHZvaWQgYXBwbGljYXRpb25XaWxsUmVzaWduQWN0aXZlKCk7CisgICAg
dm9pZCBhcHBsaWNhdGlvbkRpZEJlY29tZUFjdGl2ZSgpOworCiAgICAgUmVmPFdlYkNvcmU6OlBs
YXRmb3JtTWVkaWFSZXNvdXJjZT4gcmVxdWVzdFJlc291cmNlKFdlYkNvcmU6OlJlc291cmNlUmVx
dWVzdCYmLCBXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhUmVzb3VyY2VMb2FkZXI6OkxvYWRPcHRpb25z
KTsKICAgICB2b2lkIHJlbW92ZVJlc291cmNlKFJlbW90ZU1lZGlhUmVzb3VyY2VJZGVudGlmaWVy
KTsKIApAQCAtMTQ5LDcgKzE2Niw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBtZWRpYVBsYXllcldh
aXRpbmdGb3JLZXlDaGFuZ2VkKCkgZmluYWw7CiAjZW5kaWYKIAotICAgIHZvaWQgbWVkaWFQbGF5
ZXJDdXJyZW50UGxheWJhY2tUYXJnZXRJc1dpcmVsZXNzQ2hhbmdlZCgpIGZpbmFsOworICAgIHZv
aWQgbWVkaWFQbGF5ZXJDdXJyZW50UGxheWJhY2tUYXJnZXRJc1dpcmVsZXNzQ2hhbmdlZChib29s
KSBmaW5hbDsKIAogICAgIFN0cmluZyBtZWRpYVBsYXllclJlZmVycmVyKCkgY29uc3QgZmluYWw7
CiAgICAgU3RyaW5nIG1lZGlhUGxheWVyVXNlckFnZW50KCkgY29uc3QgZmluYWw7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94
eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRp
YVBsYXllclByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IDM3YjcwNWY5MTI5ZTcxNWFiNWQ3YWFhNDdk
M2JkNWUyNjg5MzQ1M2QuLjM5NjA3MDdlNGI0ODhlODZhZDU1N2U1NGNkNjliMDZjNjI2YzBmY2Eg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBs
YXllclByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRp
YS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluCkBAIC01NSw2ICs1NSwzMiBAQCBt
ZXNzYWdlcyAtPiBSZW1vdGVNZWRpYVBsYXllclByb3h5IE5vdFJlZkNvdW50ZWQgewogCiAgICAg
QXVkaW9UcmFja1NldEVuYWJsZWQoV2ViS2l0OjpUcmFja1ByaXZhdGVSZW1vdGVJZGVudGlmaWVy
IHRyYWNrSUQsIGJvb2wgZW5hYmxlZCkKICAgICBWaWRlb1RyYWNrU2V0U2VsZWN0ZWQoV2ViS2l0
OjpUcmFja1ByaXZhdGVSZW1vdGVJZGVudGlmaWVyIHRyYWNrSUQsIGJvb2wgZW5hYmxlZCkKKwor
ICAgICMgUGFpbnQKKyAgICAjIFBhaW50Q3VycmVudEZyYW1lSW5Db250ZXh0CisKKyNpZiBFTkFC
TEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKQorICAgIFNldFdpcmVsZXNzVmlkZW9QbGF5YmFj
a0Rpc2FibGVkKGJvb2wgZGlzYWJsZWQpCisgICAgIyBTZXRXaXJlbGVzc1BsYXliYWNrVGFyZ2V0
KFdlYkNvcmU6Ok1lZGlhUGxheWJhY2tUYXJnZXQpCisgICAgU2V0U2hvdWxkUGxheVRvUGxheWJh
Y2tUYXJnZXQoYm9vbCBzaG91bGRQbGF5KQorI2VuZGlmCisKKyNpZiBFTkFCTEUoTEVHQUNZX0VO
Q1JZUFRFRF9NRURJQSkKKyAgICAjIFNldENETVNlc3Npb24KKyAgICBLZXlBZGRlZCgpCisgICAg
IyBDZG1JbnN0YW5jZUF0dGFjaGVkCisgICAgIyBDZG1JbnN0YW5jZURldGFjaGVkCisgICAgIyBB
dHRlbXB0VG9EZWNyeXB0V2l0aEluc3RhbmNlCisjZW5kaWYKKworICAgIEJlZ2luU2ltdWxhdGVk
SERDUEVycm9yKCkKKyAgICBFbmRTaW11bGF0ZWRIRENQRXJyb3IoKQorCisgICAgTm90aWZ5QWN0
aXZlU291cmNlQnVmZmVyc0NoYW5nZWQoKQorCisgICAgQXBwbGljYXRpb25XaWxsUmVzaWduQWN0
aXZlKCkKKyAgICBBcHBsaWNhdGlvbkRpZEJlY29tZUFjdGl2ZSgpCisKIH0KIAogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVy
UHJpdmF0ZVJlbW90ZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01l
ZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAKaW5kZXggZGVlYTQ0ZGJmY2QxNTU5NjhlODIwNDdh
M2M5OTZlODZmMTU3MzAxNi4uNGFiYzdiZjgzYzVmZTEwMzFkNTZhMGFkYmJlZTg0YmRkMDdiNTA2
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBs
YXllclByaXZhdGVSZW1vdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcApAQCAtNjc0LDE1ICs2NzQsMjAgQEAg
Ym9vbCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OndpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2Fi
bGVkKCkgY29uc3QKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotdm9pZCBNZWRpYVBsYXllclByaXZh
dGVSZW1vdGU6OnNldFdpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkKGJvb2wpCit2b2lkIE1l
ZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6c2V0V2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWQo
Ym9vbCBkaXNhYmxlZCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIGNvbm5lY3Rpb24o
KS5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjpTZXRXaXJlbGVzc1ZpZGVv
UGxheWJhY2tEaXNhYmxlZChkaXNhYmxlZCksIG1faWQpOworfQorCit2b2lkIE1lZGlhUGxheWVy
UHJpdmF0ZVJlbW90ZTo6Y3VycmVudFBsYXliYWNrVGFyZ2V0SXNXaXJlbGVzc0NoYW5nZWQoYm9v
bCBpc0N1cnJlbnRQbGF5YmFja1RhcmdldFdpcmVsZXNzKQoreworICAgIG1faXNDdXJyZW50UGxh
eWJhY2tUYXJnZXRXaXJlbGVzcyA9IGlzQ3VycmVudFBsYXliYWNrVGFyZ2V0V2lyZWxlc3M7Cisg
ICAgbV9wbGF5ZXItPmN1cnJlbnRQbGF5YmFja1RhcmdldElzV2lyZWxlc3NDaGFuZ2VkKGlzQ3Vy
cmVudFBsYXliYWNrVGFyZ2V0V2lyZWxlc3MpOwogfQogCiBib29sIE1lZGlhUGxheWVyUHJpdmF0
ZVJlbW90ZTo6aXNDdXJyZW50UGxheWJhY2tUYXJnZXRXaXJlbGVzcygpIGNvbnN0CiB7Ci0gICAg
bm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIG1faXNDdXJy
ZW50UGxheWJhY2tUYXJnZXRXaXJlbGVzczsKIH0KIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVS
ZW1vdGU6OnNldFdpcmVsZXNzUGxheWJhY2tUYXJnZXQoUmVmPE1lZGlhUGxheWJhY2tUYXJnZXQ+
JiYpCkBAIC02OTAsOSArNjk1LDkgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnNl
dFdpcmVsZXNzUGxheWJhY2tUYXJnZXQoUmVmPE1lZGlhUGxheWJhY2tUYXJnZXQKICAgICBub3RJ
bXBsZW1lbnRlZCgpOwogfQogCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6c2V0U2hv
dWxkUGxheVRvUGxheWJhY2tUYXJnZXQoYm9vbCkKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVt
b3RlOjpzZXRTaG91bGRQbGF5VG9QbGF5YmFja1RhcmdldChib29sIHNob3VsZFBsYXkpCiB7Ci0g
ICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBjb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6UmVt
b3RlTWVkaWFQbGF5ZXJQcm94eTo6U2V0U2hvdWxkUGxheVRvUGxheWJhY2tUYXJnZXQoc2hvdWxk
UGxheSksIG1faWQpOwogfQogI2VuZGlmCiAKQEAgLTc4NSw3ICs3OTAsNyBAQCB2b2lkIE1lZGlh
UGxheWVyUHJpdmF0ZVJlbW90ZTo6c2V0Q0RNU2Vzc2lvbihMZWdhY3lDRE1TZXNzaW9uKikKIAog
dm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OmtleUFkZGVkKCkKIHsKLSAgICBub3RJbXBs
ZW1lbnRlZCgpOworICAgIGNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVBs
YXllclByb3h5OjpLZXlBZGRlZCgpLCBtX2lkKTsKIH0KICNlbmRpZgogCkBAIC04MDUsNiArODEw
LDExIEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjphdHRlbXB0VG9EZWNyeXB0V2l0
aEluc3RhbmNlKENETUluc3RhbmNlJikKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCit2b2lk
IE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6d2FpdGluZ0ZvcktleUNoYW5nZWQoKQoreworICAg
IG1fcGxheWVyLT53YWl0aW5nRm9yS2V5Q2hhbmdlZCgpOworfQorCiBib29sIE1lZGlhUGxheWVy
UHJpdmF0ZVJlbW90ZTo6d2FpdGluZ0ZvcktleSgpIGNvbnN0CiB7CiAgICAgbm90SW1wbGVtZW50
ZWQoKTsKQEAgLTg0NCwxMiArODU0LDEyIEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3Rl
OjpzaW11bGF0ZUF1ZGlvSW50ZXJydXB0aW9uKCkKIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVS
ZW1vdGU6OmJlZ2luU2ltdWxhdGVkSERDUEVycm9yKCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgp
OworICAgIGNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVBsYXllclByb3h5
OjpCZWdpblNpbXVsYXRlZEhEQ1BFcnJvcigpLCBtX2lkKTsKIH0KIAogdm9pZCBNZWRpYVBsYXll
clByaXZhdGVSZW1vdGU6OmVuZFNpbXVsYXRlZEhEQ1BFcnJvcigpCiB7Ci0gICAgbm90SW1wbGVt
ZW50ZWQoKTsKKyAgICBjb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5
ZXJQcm94eTo6RW5kU2ltdWxhdGVkSERDUEVycm9yKCksIG1faWQpOwogfQogCiBTdHJpbmcgTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpsYW5ndWFnZU9mUHJpbWFyeUF1ZGlvVHJhY2soKSBjb25z
dApAQCAtODkxLDE3ICs5MDEsMTggQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6Om5v
dGlmeVRyYWNrTW9kZUNoYW5nZWQoKQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6
bm90aWZ5QWN0aXZlU291cmNlQnVmZmVyc0NoYW5nZWQoKQogewotICAgIG5vdEltcGxlbWVudGVk
KCk7CisgICAgLy8gRklYTUU6IHRoaXMganVzdCByb3VuZHMgdHJpcCB1cCBhbmQgZG93biB0byBh
Y3RpdmVTb3VyY2VCdWZmZXJzQ2hhbmdlZCgpLiBTaG91bGQgdGhpcyBjYWxsIDo6YWN0aXZlU291
cmNlQnVmZmVyc0NoYW5nZWQgZGlyZWN0bHk/CisgICAgY29ubmVjdGlvbigpLnNlbmQoTWVzc2Fn
ZXM6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6Ok5vdGlmeUFjdGl2ZVNvdXJjZUJ1ZmZlcnNDaGFu
Z2VkKCksIG1faWQpOwogfQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6YXBwbGlj
YXRpb25XaWxsUmVzaWduQWN0aXZlKCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIGNv
bm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjpBcHBsaWNh
dGlvbldpbGxSZXNpZ25BY3RpdmUoKSwgbV9pZCk7CiB9CiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2
YXRlUmVtb3RlOjphcHBsaWNhdGlvbkRpZEJlY29tZUFjdGl2ZSgpCiB7Ci0gICAgbm90SW1wbGVt
ZW50ZWQoKTsKKyAgICBjb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5
ZXJQcm94eTo6QXBwbGljYXRpb25EaWRCZWNvbWVBY3RpdmUoKSwgbV9pZCk7CiB9CiAKIGJvb2wg
TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpwZXJmb3JtVGFza0F0TWVkaWFUaW1lKFdURjo6RnVu
Y3Rpb248dm9pZCgpPiYmLCBNZWRpYVRpbWUpCkBAIC05MjgsNiArOTM5LDIxIEBAIHZvaWQgTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpyZW1vdmVSZXNvdXJjZShSZW1vdGVNZWRpYVJlc291cmNl
SWRlbnRpZmllciByZW1vCiAgICAgbV9tZWRpYVJlc291cmNlcy5yZW1vdmUocmVtb3RlTWVkaWFS
ZXNvdXJjZUlkZW50aWZpZXIpOwogfQogCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6
cmVzb3VyY2VOb3RTdXBwb3J0ZWQoKQoreworICAgIG1fcGxheWVyLT5yZXNvdXJjZU5vdFN1cHBv
cnRlZCgpOworfQorCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6ZW5naW5lVXBkYXRl
ZCgpCit7CisgICAgbV9wbGF5ZXItPm1lZGlhRW5naW5lVXBkYXRlZCgpOworfQorCit2b2lkIE1l
ZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6YWN0aXZlU291cmNlQnVmZmVyc0NoYW5nZWQoKQorewor
ICAgIG1fcGxheWVyLT5hY3RpdmVTb3VyY2VCdWZmZXJzQ2hhbmdlZCgpOworfQorCiAjaWYgIVJF
TEVBU0VfTE9HX0RJU0FCTEVECiBXVEZMb2dDaGFubmVsJiBNZWRpYVBsYXllclByaXZhdGVSZW1v
dGU6OmxvZ0NoYW5uZWwoKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuaCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmgKaW5kZXgg
MGNkYjg1NGIzYmViNmJlZTk4MzBjMjk3ZmE1Mjg3Nzg2NGE4MjFhZS4uZmE4MDBjNjk0ZTM3ZDNl
NDRmZTkxZjc2MzY4MWEyMTE0OGViNzQ5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5oCkBA
IC05Miw2ICs5MiwxOSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHJlcXVlc3RSZXNvdXJjZShSZW1v
dGVNZWRpYVJlc291cmNlSWRlbnRpZmllciwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYsIFdl
YkNvcmU6OlBsYXRmb3JtTWVkaWFSZXNvdXJjZUxvYWRlcjo6TG9hZE9wdGlvbnMsIENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCByZW1vdmVSZXNvdXJjZShSZW1vdGVNZWRp
YVJlc291cmNlSWRlbnRpZmllcik7CisgICAgdm9pZCByZXNvdXJjZU5vdFN1cHBvcnRlZCgpOwor
CisgICAgdm9pZCBlbmdpbmVVcGRhdGVkKCk7CisKKyAgICB2b2lkIGFjdGl2ZVNvdXJjZUJ1ZmZl
cnNDaGFuZ2VkKCk7CisKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorICAgIHZvaWQgd2Fp
dGluZ0ZvcktleUNoYW5nZWQoKTsKKyNlbmRpZgorCisjaWYgRU5BQkxFKFdJUkVMRVNTX1BMQVlC
QUNLX1RBUkdFVCkKKyAgICB2b2lkIGN1cnJlbnRQbGF5YmFja1RhcmdldElzV2lyZWxlc3NDaGFu
Z2VkKGJvb2wpOworI2VuZGlmCiAKICNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKICAgICBjb25z
dCBMb2dnZXImIGxvZ2dlcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuICptX2xvZ2dlcjsgfQpAQCAt
MzQyLDYgKzM1NSw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2hhc1ZpZGVvIHsgZmFsc2UgfTsK
ICAgICBib29sIG1fbXV0ZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9zZWVraW5nIHsgZmFsc2Ug
fTsKKyAgICBib29sIG1faXNDdXJyZW50UGxheWJhY2tUYXJnZXRXaXJlbGVzcyB7IGZhbHNlIH07
CiAKICNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKICAgICBSZWZQdHI8Y29uc3QgTG9nZ2VyPiBt
X2xvZ2dlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEv
TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUubWVzc2FnZXMuaW4KaW5k
ZXggNTVlYWJmM2FmMjJhYTg5OGIxNDE5NzkwOTNmOGI1ODAxZTI2MDgzZC4uZmVkYzA1NmIwNzEw
OTUxYjA1ZjUyOWJlZTI1NGJkNGY0NDJhMjVkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUubWVzc2FnZXMuaW4K
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZh
dGVSZW1vdGUubWVzc2FnZXMuaW4KQEAgLTQ4LDYgKzQ4LDE5IEBAIG1lc3NhZ2VzIC0+IE1lZGlh
UGxheWVyUHJpdmF0ZVJlbW90ZSBOb3RSZWZDb3VudGVkIHsKIAogICAgIFJlcXVlc3RSZXNvdXJj
ZShXZWJLaXQ6OlJlbW90ZU1lZGlhUmVzb3VyY2VJZGVudGlmaWVyIHJlbW90ZU1lZGlhUmVzb3Vy
Y2VJZGVudGlmaWVyLCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdCwgZW51bTp1aW50
OF90IFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFSZXNvdXJjZUxvYWRlcjo6TG9hZE9wdGlvbnMgb3B0
aW9ucykgLT4gKCkgQXN5bmMKICAgICBSZW1vdmVSZXNvdXJjZShXZWJLaXQ6OlJlbW90ZU1lZGlh
UmVzb3VyY2VJZGVudGlmaWVyIHJlbW90ZU1lZGlhUmVzb3VyY2VJZGVudGlmaWVyKQorICAgIFJl
c291cmNlTm90U3VwcG9ydGVkKCkKKworICAgIEVuZ2luZVVwZGF0ZWQoKQorCisgICAgQWN0aXZl
U291cmNlQnVmZmVyc0NoYW5nZWQoKQorCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKyAg
ICBXYWl0aW5nRm9yS2V5Q2hhbmdlZCgpCisjZW5kaWYKKworI2lmIEVOQUJMRShXSVJFTEVTU19Q
TEFZQkFDS19UQVJHRVQpCisgICAgQ3VycmVudFBsYXliYWNrVGFyZ2V0SXNXaXJlbGVzc0NoYW5n
ZWQoYm9vbCBpc0N1cnJlbnRQbGF5YmFja1RhcmdldFdpcmVsZXNzKQorI2VuZGlmCiB9CiAKICNl
bmRpZgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>