<?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>207007</bug_id>
          
          <creation_ts>2020-01-30 10:47:35 -0800</creation_ts>
          <short_desc>Add GPU Process support for accessLog et al.</short_desc>
          <delta_ts>2020-02-27 11:15:21 -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="Tim Monroe">timmon</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>jonlee</cc>
    
    <cc>peng.liu6</cc>
    
    <cc>philipj</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1613036</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Monroe">timmon</who>
    <bug_when>2020-01-30 10:47:35 -0800</bug_when>
    <thetext>Add GPU process support for accessLog, errorLog, updateVideoFullscreenInlineImage, etc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1613038</commentid>
    <comment_count>1</comment_count>
      <attachid>389268</attachid>
    <who name="Tim Monroe">timmon</who>
    <bug_when>2020-01-30 10:51:34 -0800</bug_when>
    <thetext>Created attachment 389268
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1613043</commentid>
    <comment_count>2</comment_count>
      <attachid>389268</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-01-30 10:57:07 -0800</bug_when>
    <thetext>Comment on attachment 389268
Patch

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

&gt; Source/WebKit/GPUProcess/media/RemoteMediaPlayerManagerProxy.cpp:199
&gt; +void RemoteMediaPlayerManagerProxy::updateVideoFullscreenInlineImage(MediaPlayerPrivateRemoteIdentifier id)

Please don&apos;t use &apos;id&apos;. It will cause compile errors if this file is ever made a .mm file.

&gt; Source/WebKit/GPUProcess/media/RemoteMediaPlayerManagerProxy.messages.in:40
&gt; +    AccessLog(WebKit::MediaPlayerPrivateRemoteIdentifier id) -&gt; (String accessLog) Synchronous
&gt; +    ErrorLog(WebKit::MediaPlayerPrivateRemoteIdentifier id) -&gt; (String errorLog) Synchronous

no id

&gt; Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.cpp:243
&gt; +void RemoteMediaPlayerProxy::updateVideoFullscreenInlineImage(void)

No need for void

&gt; Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:530
&gt; +    if (!connection().sendSync(Messages::RemoteMediaPlayerProxy::AccessLog(), Messages::RemoteMediaPlayerProxy::AccessLog::Reply(log), m_id))

Does this have to be synchronous IPC? We try to avoid that as much as possible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1613063</commentid>
    <comment_count>3</comment_count>
      <attachid>389268</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-01-30 11:33:40 -0800</bug_when>
    <thetext>Comment on attachment 389268
Patch

Can we enable some layout tests in this patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1613074</commentid>
    <comment_count>4</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2020-01-30 11:52:38 -0800</bug_when>
    <thetext>iOS bots are failing due to:

/Volumes/Data/worker/iOS-13-Simulator-Build-EWS/build/Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:530:79: error: no member named &apos;AccessLog&apos; in namespace &apos;Messages::RemoteMediaPlayerProxy&apos;; did you mean &apos;Messages::RemoteMediaPlayerManagerProxy::AccessLog&apos;?

Looks like it&apos;s a simple fix; the message is defined on RemoteMediaPlayerManagerProxy, not RemoteMediaPlayerProxy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1615110</commentid>
    <comment_count>5</comment_count>
      <attachid>389825</attachid>
    <who name="Tim Monroe">timmon</who>
    <bug_when>2020-02-05 10:14:47 -0800</bug_when>
    <thetext>Created attachment 389825
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1622621</commentid>
    <comment_count>6</comment_count>
      <attachid>391655</attachid>
    <who name="Tim Monroe">timmon</who>
    <bug_when>2020-02-25 08:49:13 -0800</bug_when>
    <thetext>Created attachment 391655
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1622663</commentid>
    <comment_count>7</comment_count>
      <attachid>391655</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-02-25 10:12:50 -0800</bug_when>
    <thetext>Comment on attachment 391655
Patch

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

&gt; Source/WebKit/GPUProcess/media/RemoteMediaPlayerManagerProxy.messages.in:39
&gt; +    AccessLog(WebKit::MediaPlayerPrivateRemoteIdentifier playerIdentifier) -&gt; (String accessLog) Synchronous

Is it possible to use Async messages here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623516</commentid>
    <comment_count>8</comment_count>
    <who name="Tim Monroe">timmon</who>
    <bug_when>2020-02-27 09:05:57 -0800</bug_when>
    <thetext>I&apos;m not sure how we would do this asynchronously. At any rate, my understanding of these two methods suggests that they would be called rarely, so perhaps the synchronous nature of the call will not be a real issue?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623568</commentid>
    <comment_count>9</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-02-27 11:00:45 -0800</bug_when>
    <thetext>(In reply to Tim Monroe from comment #8)
&gt; I&apos;m not sure how we would do this asynchronously. At any rate, my
&gt; understanding of these two methods suggests that they would be called
&gt; rarely, so perhaps the synchronous nature of the call will not be a real
&gt; issue?

It doesn&apos;t matter how rare they are. Any synchronous message can cause hangs in the calling process if the receiving process is busy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623571</commentid>
    <comment_count>10</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2020-02-27 11:04:13 -0800</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #9)
&gt; (In reply to Tim Monroe from comment #8)
&gt; &gt; I&apos;m not sure how we would do this asynchronously. At any rate, my
&gt; &gt; understanding of these two methods suggests that they would be called
&gt; &gt; rarely, so perhaps the synchronous nature of the call will not be a real
&gt; &gt; issue?
&gt; 
&gt; It doesn&apos;t matter how rare they are. Any synchronous message can cause hangs
&gt; in the calling process if the receiving process is busy.

Or the receiving process crashed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623574</commentid>
    <comment_count>11</comment_count>
      <attachid>391655</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-27 11:14:36 -0800</bug_when>
    <thetext>Comment on attachment 391655
Patch

Clearing flags on attachment: 391655

Committed r257577: &lt;https://trac.webkit.org/changeset/257577&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623575</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-27 11:14:38 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623576</commentid>
    <comment_count>13</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-02-27 11:15:21 -0800</bug_when>
    <thetext>&lt;rdar://problem/59854422&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>389268</attachid>
            <date>2020-01-30 10:51:34 -0800</date>
            <delta_ts>2020-02-05 10:14:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-207007-20200130135133.patch</filename>
            <type>text/plain</type>
            <size>13760</size>
            <attacher name="Tim Monroe">timmon</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1MjMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGZhN2Q5NmI0YjZjZDA1ZWMy
MzBjNDEzMjAzMTllOTQxM2FkZDcyMDYuLmQzNTg2M2JmMzk0NjZiNGI3N2QyNTQzMmNlZWUyMGU1
OWQzMWZjYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEgQEAKKzIwMjAtMDEtMzAgIFRpbSBNb25y
b2UgIDx0aW1tb25AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBHUFUgUHJvY2VzcyBzdXBwb3J0
IGZvciBhY2Nlc3NMb2cgZXQgYWwuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMDcwMDcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBObyBuZXcgdGVzdHMgKE9PUFMhKS4KKworICAgICAgICAqIEdQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHkuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eTo6dXBkYXRlVmlkZW9GdWxsc2NyZWVu
SW5saW5lSW1hZ2UpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQ
cm94eTo6c2V0VmlkZW9GdWxsc2NyZWVuRnJhbWUpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVN
ZWRpYVBsYXllck1hbmFnZXJQcm94eTo6c2V0VmlkZW9GdWxsc2NyZWVuR3Jhdml0eSk6CisgICAg
ICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5OjpzZXRWaWRlb0Z1bGxz
Y3JlZW5Nb2RlKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJv
eHk6OnNldFZvbHVtZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyTWFuYWdl
clByb3h5OjpzZXRCdWZmZXJpbmdQb2xpY3kpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRp
YVBsYXllck1hbmFnZXJQcm94eTo6dmlkZW9GdWxsc2NyZWVuU3RhbmRieUNoYW5nZWQpOgorICAg
ICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eTo6YWNjZXNzTG9nKToK
KyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHk6OmVycm9yTG9n
KToKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlclBy
b3h5Lmg6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFn
ZXJQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1l
ZGlhUGxheWVyUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllclBy
b3h5Ojp1cGRhdGVWaWRlb0Z1bGxzY3JlZW5JbmxpbmVJbWFnZSk6CisgICAgICAgIChXZWJLaXQ6
OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6OnNldFZpZGVvRnVsbHNjcmVlbk1vZGUpOgorICAgICAg
ICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjpzZXRCdWZmZXJpbmdQb2xpY3kpOgor
ICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllclByb3h5Ojp2aWRlb0Z1bGxzY3JlZW5T
dGFuZGJ5Q2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6
OmFjY2Vzc0xvZyk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6OmVy
cm9yTG9nKToKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJv
eHkuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHku
bWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQ
cml2YXRlUmVtb3RlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2YXRlUmVt
b3RlOjp1cGRhdGVWaWRlb0Z1bGxzY3JlZW5JbmxpbmVJbWFnZSk6CisgICAgICAgIChXZWJLaXQ6
Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6c2V0VmlkZW9GdWxsc2NyZWVuTW9kZSk6CisgICAg
ICAgIChXZWJLaXQ6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6dmlkZW9GdWxsc2NyZWVuU3Rh
bmRieUNoYW5nZWQpOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6
OmFjY2Vzc0xvZyBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6Ok1lZGlhUGxheWVyUHJpdmF0ZVJl
bW90ZTo6ZXJyb3JMb2cgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVBsYXllclByaXZh
dGVSZW1vdGU6OnNldEJ1ZmZlcmluZ1BvbGljeSk6CisKIDIwMjAtMDEtMjggIENhcmxvcyBHYXJj
aWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdW1dQRV0gUVIg
Y29kZSBub3QgbG9hZGVkIGluIHdlYi53aGF0c2FwcC5jb20KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2Vy
UHJveHkuY3BwCmluZGV4IDhlYWIxM2MxYjQ5Y2UyMWJlYTQ4NGU5NWQ1ZTI4YmMzOWE3ZmViMWIu
LjJmZDQxNzFhODliZDRlOGEyYzc1NWNiZGYzYWViYzdhOTNiMmUwYTMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94
eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxh
eWVyTWFuYWdlclByb3h5LmNwcApAQCAtMTk2LDYgKzE5Niw2NiBAQCB2b2lkIFJlbW90ZU1lZGlh
UGxheWVyTWFuYWdlclByb3h5OjpzdXBwb3J0c0tleVN5c3RlbShNZWRpYVBsYXllckVudW1zOjpN
ZWRpYUVuZwogICAgIGNvbXBsZXRpb25IYW5kbGVyKHJlc3VsdCk7CiB9CiAKK3ZvaWQgUmVtb3Rl
TWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHk6OnVwZGF0ZVZpZGVvRnVsbHNjcmVlbklubGluZUltYWdl
KE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIgaWQpCit7CisgICAgaWYgKGF1dG8g
cGxheWVyID0gbV9wcm94aWVzLmdldChpZCkpCisgICAgICAgIHBsYXllci0+dXBkYXRlVmlkZW9G
dWxsc2NyZWVuSW5saW5lSW1hZ2UoKTsKK30KKwordm9pZCBSZW1vdGVNZWRpYVBsYXllck1hbmFn
ZXJQcm94eTo6c2V0VmlkZW9GdWxsc2NyZWVuRnJhbWUoTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3Rl
SWRlbnRpZmllciBpZCwgRmxvYXRSZWN0IGZyYW1lKQoreworICAgIGlmIChhdXRvIHBsYXllciA9
IG1fcHJveGllcy5nZXQoaWQpKQorICAgICAgICBwbGF5ZXItPnNldFZpZGVvRnVsbHNjcmVlbkZy
YW1lKGZyYW1lKTsKK30KKwordm9pZCBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eTo6c2V0
VmlkZW9GdWxsc2NyZWVuR3Jhdml0eShNZWRpYVBsYXllclByaXZhdGVSZW1vdGVJZGVudGlmaWVy
IGlkLCBNZWRpYVBsYXllcjo6VmlkZW9HcmF2aXR5IGdyYXZpdHkpCit7CisgICAgaWYgKGF1dG8g
cGxheWVyID0gbV9wcm94aWVzLmdldChpZCkpCisgICAgICAgIHBsYXllci0+c2V0VmlkZW9GdWxs
c2NyZWVuR3Jhdml0eShncmF2aXR5KTsKK30KKwordm9pZCBSZW1vdGVNZWRpYVBsYXllck1hbmFn
ZXJQcm94eTo6c2V0VmlkZW9GdWxsc2NyZWVuTW9kZShNZWRpYVBsYXllclByaXZhdGVSZW1vdGVJ
ZGVudGlmaWVyIGlkLCBNZWRpYVBsYXllcjo6VmlkZW9GdWxsc2NyZWVuTW9kZSBtb2RlKQorewor
ICAgIGlmIChhdXRvIHBsYXllciA9IG1fcHJveGllcy5nZXQoaWQpKQorICAgICAgICBwbGF5ZXIt
PnNldFZpZGVvRnVsbHNjcmVlbk1vZGUobW9kZSk7Cit9CisKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5
ZXJNYW5hZ2VyUHJveHk6OnNldFZvbHVtZShNZWRpYVBsYXllclByaXZhdGVSZW1vdGVJZGVudGlm
aWVyIGlkLCBkb3VibGUgdm9sdW1lKQoreworICAgIGlmIChhdXRvIHBsYXllciA9IG1fcHJveGll
cy5nZXQoaWQpKQorICAgICAgICBwbGF5ZXItPnNldFZvbHVtZSh2b2x1bWUpOworfQorCit2b2lk
IFJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5OjpzZXRCdWZmZXJpbmdQb2xpY3koTWVkaWFQ
bGF5ZXJQcml2YXRlUmVtb3RlSWRlbnRpZmllciBpZCwgV2ViQ29yZTo6TWVkaWFQbGF5ZXI6OkJ1
ZmZlcmluZ1BvbGljeSBwb2xpY3kpCit7CisgICAgaWYgKGF1dG8gcGxheWVyID0gbV9wcm94aWVz
LmdldChpZCkpCisgICAgICAgIHBsYXllci0+c2V0QnVmZmVyaW5nUG9saWN5KHBvbGljeSk7Cit9
CisKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHk6OnZpZGVvRnVsbHNjcmVlblN0
YW5kYnlDaGFuZ2VkKE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIgaWQpCit7Cisg
ICAgaWYgKGF1dG8gcGxheWVyID0gbV9wcm94aWVzLmdldChpZCkpCisgICAgICAgIHBsYXllci0+
dmlkZW9GdWxsc2NyZWVuU3RhbmRieUNoYW5nZWQoKTsKK30KKworI2lmIFBMQVRGT1JNKElPU19G
QU1JTFkpCit2b2lkIFJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5OjphY2Nlc3NMb2coTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlSWRlbnRpZmllciBpZCwgQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZChTdHJpbmcpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQoreworICAgIGlmIChhdXRvIHBsYXllciA9
IG1fcHJveGllcy5nZXQoaWQpKSB7CisgICAgICAgIFN0cmluZyBsb2cgPSBwbGF5ZXItPmFjY2Vz
c0xvZygpOworICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihsb2cpOworICAgIH0KK30KKwordm9p
ZCBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eTo6ZXJyb3JMb2coTWVkaWFQbGF5ZXJQcml2
YXRlUmVtb3RlSWRlbnRpZmllciBpZCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChTdHJpbmcpPiYm
IGNvbXBsZXRpb25IYW5kbGVyKQoreworICAgIGlmIChhdXRvIHBsYXllciA9IG1fcHJveGllcy5n
ZXQoaWQpKSB7CisgICAgICAgIFN0cmluZyBsb2cgPSBwbGF5ZXItPmVycm9yTG9nKCk7CisgICAg
ICAgIGNvbXBsZXRpb25IYW5kbGVyKGxvZyk7CisgICAgfQorfQorI2VuZGlmCisKIHZvaWQgUmVt
b3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHk6OmRpZFJlY2VpdmVQbGF5ZXJNZXNzYWdlKElQQzo6
Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgSVBDOjpEZWNvZGVyJiBkZWNvZGVyKQogewogICAgIGlm
IChhdXRvKiBwbGF5ZXIgPSBtX3Byb3hpZXMuZ2V0KG1ha2VPYmplY3RJZGVudGlmaWVyPE1lZGlh
UGxheWVyUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXJUeXBlPihkZWNvZGVyLmRlc3RpbmF0aW9uSUQo
KSkpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1l
ZGlhUGxheWVyTWFuYWdlclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHkuaAppbmRleCBhZTMyOGNiN2QwOTM2MjZhYjJi
MzI3Y2Q1YTYzMzQ2MGZkNzA0MTQ1Li5mMzg5NzFjN2I4MzdhOTg1MDU3ODJmZGFjMzA4MTVhOWMz
MTQwNzFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
TWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
bWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHkuaApAQCAtODQsNiArODQsMjEgQEAg
cHJpdmF0ZToKICAgICB2b2lkIGNsZWFyTWVkaWFDYWNoZUZvck9yaWdpbnMoV2ViQ29yZTo6TWVk
aWFQbGF5ZXJFbnVtczo6TWVkaWFFbmdpbmVJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmJiwgVmVj
dG9yPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YT4mJik7CiAgICAgdm9pZCBzdXBwb3J0c0tl
eVN5c3RlbShXZWJDb3JlOjpNZWRpYVBsYXllckVudW1zOjpNZWRpYUVuZ2luZUlkZW50aWZpZXIs
IGNvbnN0IFN0cmluZyYmLCBjb25zdCBTdHJpbmcmJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChi
b29sKT4mJik7CiAKKyAgICB2b2lkIHVwZGF0ZVZpZGVvRnVsbHNjcmVlbklubGluZUltYWdlKE1l
ZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIpOworICAgIHZvaWQgc2V0VmlkZW9GdWxs
c2NyZWVuRnJhbWUoTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlSWRlbnRpZmllciwgV2ViQ29yZTo6
RmxvYXRSZWN0KTsKKyAgICB2b2lkIHNldFZpZGVvRnVsbHNjcmVlbkdyYXZpdHkoTWVkaWFQbGF5
ZXJQcml2YXRlUmVtb3RlSWRlbnRpZmllciwgV2ViQ29yZTo6TWVkaWFQbGF5ZXI6OlZpZGVvR3Jh
dml0eSk7CisgICAgdm9pZCBzZXRWaWRlb0Z1bGxzY3JlZW5Nb2RlKE1lZGlhUGxheWVyUHJpdmF0
ZVJlbW90ZUlkZW50aWZpZXIsIFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpWaWRlb0Z1bGxzY3JlZW5N
b2RlKTsKKworICAgIHZvaWQgdmlkZW9GdWxsc2NyZWVuU3RhbmRieUNoYW5nZWQoTWVkaWFQbGF5
ZXJQcml2YXRlUmVtb3RlSWRlbnRpZmllcik7CisKKyAgICB2b2lkIHNldFZvbHVtZShNZWRpYVBs
YXllclByaXZhdGVSZW1vdGVJZGVudGlmaWVyLCBkb3VibGUpOworICAgIHZvaWQgc2V0QnVmZmVy
aW5nUG9saWN5KE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIsIFdlYkNvcmU6Ok1l
ZGlhUGxheWVyOjpCdWZmZXJpbmdQb2xpY3kpOworCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkK
KyAgICB2b2lkIGFjY2Vzc0xvZyhNZWRpYVBsYXllclByaXZhdGVSZW1vdGVJZGVudGlmaWVyLCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKFN0cmluZyk+JiYpOworICAgIHZvaWQgZXJyb3JMb2coTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlSWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChT
dHJpbmcpPiYmKTsKKyNlbmRpZgorCiAgICAgSGFzaE1hcDxNZWRpYVBsYXllclByaXZhdGVSZW1v
dGVJZGVudGlmaWVyLCBzdGQ6OnVuaXF1ZV9wdHI8UmVtb3RlTWVkaWFQbGF5ZXJQcm94eT4+IG1f
cHJveGllczsKICAgICBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzJiBtX2dwdUNvbm5lY3Rpb25U
b1dlYlByb2Nlc3M7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRp
YS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eS5tZXNzYWdl
cy5pbgppbmRleCA2NGYzY2JmMjBjNTJjMzYyMDZhYWViOWM0OTk3YTcyZjViZTQwZjg3Li45Y2E4
NGQ2ODNiN2RkOThjNzcyZGRkMWZmZmJiNzU0NDdhYmVkODgxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHkubWVz
c2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlh
UGxheWVyTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluCkBAIC0zNCw2ICszNCwxMSBAQCBtZXNzYWdl
cyAtPiBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eSBOb3RSZWZDb3VudGVkIHsKICAgICBD
bGVhck1lZGlhQ2FjaGUoZW51bTp1aW50OF90IFdlYkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6Ok1l
ZGlhRW5naW5lSWRlbnRpZmllciByZW1vdGVFbmdpbmVJZGVudGlmaWVyLCBTdHJpbmcgcGF0aCwg
V2FsbFRpbWUgbW9kaWZpZWRTaW5jZSkKICAgICBDbGVhck1lZGlhQ2FjaGVGb3JPcmlnaW5zKGVu
dW06dWludDhfdCBXZWJDb3JlOjpNZWRpYVBsYXllckVudW1zOjpNZWRpYUVuZ2luZUlkZW50aWZp
ZXIgcmVtb3RlRW5naW5lSWRlbnRpZmllciwgU3RyaW5nIHBhdGgsIFZlY3RvcjxXZWJDb3JlOjpT
ZWN1cml0eU9yaWdpbkRhdGE+IG9yaWdpbnMpCiAgICAgU3VwcG9ydHNLZXlTeXN0ZW0oZW51bTp1
aW50OF90IFdlYkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6Ok1lZGlhRW5naW5lSWRlbnRpZmllciBy
ZW1vdGVFbmdpbmVJZGVudGlmaWVyLCBTdHJpbmcga2V5U3lzdGVtLCBTdHJpbmcgbWltZVR5cGUp
IC0+IChib29sIHN1cHBvcnRzKSBTeW5jaHJvbm91cworCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlM
WSkKKyAgICBBY2Nlc3NMb2coV2ViS2l0OjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGVJZGVudGlm
aWVyIGlkKSAtPiAoU3RyaW5nIGFjY2Vzc0xvZykgU3luY2hyb25vdXMKKyAgICBFcnJvckxvZyhX
ZWJLaXQ6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIgaWQpIC0+IChTdHJpbmcg
ZXJyb3JMb2cpIFN5bmNocm9ub3VzCisjZW5kaWYKIH0KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5j
cHAKaW5kZXggMzBlN2EwODVhNmU3MmY0ZjM1ZjMyYzExZmJlNGU3ZWMzMWIzYTVmNy4uNWVhY2Nm
MmJhZjMyYjU1Y2Q1ZDM3MTI0NzljZjhhMzEyMjI5ZmZkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcApA
QCAtMjQwLDYgKzI0MCwzOCBAQCB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OnJlbW92ZVJl
c291cmNlKFJlbW90ZU1lZGlhUmVzb3VyY2VJZGVudGlmaWVyIHJlbW90ZQogfQogCiAvLyBNZWRp
YVBsYXllckNsaWVudAordm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5Ojp1cGRhdGVWaWRlb0Z1
bGxzY3JlZW5JbmxpbmVJbWFnZSh2b2lkKQoreworICAgIG1fcGxheWVyLT51cGRhdGVWaWRlb0Z1
bGxzY3JlZW5JbmxpbmVJbWFnZSgpOworfQorCit2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6
OnNldFZpZGVvRnVsbHNjcmVlbk1vZGUoTWVkaWFQbGF5ZXI6OlZpZGVvRnVsbHNjcmVlbk1vZGUg
bW9kZSkKK3sKKyAgICBtX3BsYXllci0+c2V0VmlkZW9GdWxsc2NyZWVuTW9kZShtb2RlKTsKK30K
Kwordm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjpzZXRCdWZmZXJpbmdQb2xpY3koTWVkaWFQ
bGF5ZXI6OkJ1ZmZlcmluZ1BvbGljeSBwb2xpY3kpCit7CisgICAgbV9wbGF5ZXItPnNldEJ1ZmZl
cmluZ1BvbGljeShwb2xpY3kpOworfQorCit2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OnZp
ZGVvRnVsbHNjcmVlblN0YW5kYnlDaGFuZ2VkKHZvaWQpCit7CisgICAgbV9wbGF5ZXItPnZpZGVv
RnVsbHNjcmVlblN0YW5kYnlDaGFuZ2VkKCk7Cit9CisKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZ
KQorU3RyaW5nIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OmFjY2Vzc0xvZygpCit7CisgICAgcmV0
dXJuIG1fcGxheWVyLT5hY2Nlc3NMb2coKTsKK30KKworU3RyaW5nIFJlbW90ZU1lZGlhUGxheWVy
UHJveHk6OmVycm9yTG9nKCkKK3sKKyAgICByZXR1cm4gbV9wbGF5ZXItPmVycm9yTG9nKCk7Cit9
CisjZW5kaWYKKwogdm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXllck5ldHdv
cmtTdGF0ZUNoYW5nZWQoKQogewogICAgIHVwZGF0ZUNhY2hlZFN0YXRlKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5o
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHku
aAppbmRleCBjYWE5NmEzNDI2ODM5ZjgxMGQxNDJjYzJhM2Y3NTc2MDg5NDE2MzBlLi45MGEzYjNk
MGRlMTI5ODBjN2Q1YWFmODk2NzJlMzIzYTM0MmVkMWU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmgKQEAgLTcw
LDYgKzcwLDE4IEBAIHB1YmxpYzoKICAgICBNZWRpYVBsYXllclByaXZhdGVSZW1vdGVJZGVudGlm
aWVyIGlkZW5kaWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2lkOyB9CiAgICAgdm9pZCBpbnZhbGlk
YXRlKCk7CiAKKyAgICB2b2lkIHVwZGF0ZVZpZGVvRnVsbHNjcmVlbklubGluZUltYWdlKCk7Cisg
ICAgdm9pZCBzZXRWaWRlb0Z1bGxzY3JlZW5Nb2RlKFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpWaWRl
b0Z1bGxzY3JlZW5Nb2RlKTsKKworICAgIHZvaWQgc2V0QnVmZmVyaW5nUG9saWN5KFdlYkNvcmU6
Ok1lZGlhUGxheWVyOjpCdWZmZXJpbmdQb2xpY3kpOworCisgICAgdm9pZCB2aWRlb0Z1bGxzY3Jl
ZW5TdGFuZGJ5Q2hhbmdlZCgpOworCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBTdHJp
bmcgYWNjZXNzTG9nKCk7CisgICAgU3RyaW5nIGVycm9yTG9nKCk7CisjZW5kaWYKKwogICAgIHZv
aWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJikgZmlu
YWw7CiAKICAgICB2b2lkIGdldENvbmZpZ3VyYXRpb24oUmVtb3RlTWVkaWFQbGF5ZXJDb25maWd1
cmF0aW9uJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVt
b3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IDM5NjA3MDdl
NGI0ODhlODZhZDU1N2U1NGNkNjliMDZjNjI2YzBmY2EuLjY5Mzc3ZWUxMzJiNGVlN2ZkNGFiYTU4
YjQ0N2FjMGI4YWY1NzU5NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9t
ZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluCkBA
IC01Myw2ICs1MywxMiBAQCBtZXNzYWdlcyAtPiBSZW1vdGVNZWRpYVBsYXllclByb3h5IE5vdFJl
ZkNvdW50ZWQgewogICAgIFNldFNob3VsZERpc2FibGVTbGVlcChib29sIGRpc2FibGUpCiAgICAg
U2V0UmF0ZShkb3VibGUgcmF0ZSkKIAorICAgIFVwZGF0ZVZpZGVvRnVsbHNjcmVlbklubGluZUlt
YWdlKCkKKyAgICBTZXRWaWRlb0Z1bGxzY3JlZW5Nb2RlKFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpW
aWRlb0Z1bGxzY3JlZW5Nb2RlIG1vZGUpCisgICAgVmlkZW9GdWxsc2NyZWVuU3RhbmRieUNoYW5n
ZWQoKQorCisgICAgU2V0QnVmZmVyaW5nUG9saWN5KFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpCdWZm
ZXJpbmdQb2xpY3kgcG9saWN5KQorCiAgICAgQXVkaW9UcmFja1NldEVuYWJsZWQoV2ViS2l0OjpU
cmFja1ByaXZhdGVSZW1vdGVJZGVudGlmaWVyIHRyYWNrSUQsIGJvb2wgZW5hYmxlZCkKICAgICBW
aWRlb1RyYWNrU2V0U2VsZWN0ZWQoV2ViS2l0OjpUcmFja1ByaXZhdGVSZW1vdGVJZGVudGlmaWVy
IHRyYWNrSUQsIGJvb2wgZW5hYmxlZCkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwCmlu
ZGV4IDRhYmM3YmY4M2M1ZmUxMDMxZDU2YTBhZGJiZWU4NGJkZDA3YjUwNmIuLjkwZTQ1NjgzNzhh
NTJmZGFmN2YxY2Q4OTE5NTRmZTYwNDlmOTBhNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90
ZS5jcHAKQEAgLTUwMiwxNyArNTAyLDE3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3Rl
OjpzZXRWaWRlb0Z1bGxzY3JlZW5MYXllcihQbGF0Zm9ybUxheWVyKiwgV1RGOjpGdW5jCiAKIHZv
aWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjp1cGRhdGVWaWRlb0Z1bGxzY3JlZW5JbmxpbmVJ
bWFnZSgpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBjb25uZWN0aW9uKCkuc2VuZChN
ZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6VXBkYXRlVmlkZW9GdWxsc2NyZWVuSW5s
aW5lSW1hZ2UoKSwgbV9pZCk7CiB9CiAKLXZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpz
ZXRWaWRlb0Z1bGxzY3JlZW5Nb2RlKE1lZGlhUGxheWVyOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlKQor
dm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnNldFZpZGVvRnVsbHNjcmVlbk1vZGUoTWVk
aWFQbGF5ZXI6OlZpZGVvRnVsbHNjcmVlbk1vZGUgbW9kZSkKIHsKLSAgICBub3RJbXBsZW1lbnRl
ZCgpOworICAgIGNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVBsYXllclBy
b3h5OjpTZXRWaWRlb0Z1bGxzY3JlZW5Nb2RlKG1vZGUpLCBtX2lkKTsKIH0KIAogdm9pZCBNZWRp
YVBsYXllclByaXZhdGVSZW1vdGU6OnZpZGVvRnVsbHNjcmVlblN0YW5kYnlDaGFuZ2VkKCkKIHsK
LSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIGNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpS
ZW1vdGVNZWRpYVBsYXllclByb3h5OjpWaWRlb0Z1bGxzY3JlZW5TdGFuZGJ5Q2hhbmdlZCgpLCBt
X2lkKTsKIH0KICNlbmRpZgogCkBAIC01MjUsMjAgKzUyNSwyOCBAQCBOU0FycmF5KiBNZWRpYVBs
YXllclByaXZhdGVSZW1vdGU6OnRpbWVkTWV0YWRhdGEoKSBjb25zdAogCiBTdHJpbmcgTWVkaWFQ
bGF5ZXJQcml2YXRlUmVtb3RlOjphY2Nlc3NMb2coKSBjb25zdAogewotICAgIG5vdEltcGxlbWVu
dGVkKCk7Ci0gICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7CisgICAgU3RyaW5nIGxvZzsKKyAgICAK
KyAgICBpZiAoIWNvbm5lY3Rpb24oKS5zZW5kU3luYyhNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5
ZXJQcm94eTo6QWNjZXNzTG9nKCksIE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjpB
Y2Nlc3NMb2c6OlJlcGx5KGxvZyksIG1faWQpKQorICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmco
KTsKKworICAgIHJldHVybiBsb2c7CiB9CiAKIFN0cmluZyBNZWRpYVBsYXllclByaXZhdGVSZW1v
dGU6OmVycm9yTG9nKCkgY29uc3QKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIHJldHVy
biBlbXB0eVN0cmluZygpOworICAgIFN0cmluZyBsb2c7CisgICAgCisgICAgaWYgKCFjb25uZWN0
aW9uKCkuc2VuZFN5bmMoTWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6OkVycm9yTG9n
KCksIE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjpFcnJvckxvZzo6UmVwbHkobG9n
KSwgbV9pZCkpCisgICAgICAgIHJldHVybiBlbXB0eVN0cmluZygpOworCisgICAgcmV0dXJuIGxv
ZzsKIH0KICNlbmRpZgogCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6c2V0QnVmZmVy
aW5nUG9saWN5KE1lZGlhUGxheWVyOjpCdWZmZXJpbmdQb2xpY3kpCit2b2lkIE1lZGlhUGxheWVy
UHJpdmF0ZVJlbW90ZTo6c2V0QnVmZmVyaW5nUG9saWN5KE1lZGlhUGxheWVyOjpCdWZmZXJpbmdQ
b2xpY3kgcG9saWN5KQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgY29ubmVjdGlvbigp
LnNlbmQoTWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6OlNldEJ1ZmZlcmluZ1BvbGlj
eShwb2xpY3kpLCBtX2lkKTsKIH0KIAogYm9vbCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OmNh
blNhdmVNZWRpYURhdGEoKSBjb25zdAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>389825</attachid>
            <date>2020-02-05 10:14:47 -0800</date>
            <delta_ts>2020-02-25 08:49:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-207007-20200205101446.patch</filename>
            <type>text/plain</type>
            <size>14068</size>
            <attacher name="Tim Monroe">timmon</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1MjMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGZhN2Q5NmI0YjZjZDA1ZWMy
MzBjNDEzMjAzMTllOTQxM2FkZDcyMDYuLmQzNTg2M2JmMzk0NjZiNGI3N2QyNTQzMmNlZWUyMGU1
OWQzMWZjYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEgQEAKKzIwMjAtMDEtMzAgIFRpbSBNb25y
b2UgIDx0aW1tb25AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBHUFUgUHJvY2VzcyBzdXBwb3J0
IGZvciBhY2Nlc3NMb2cgZXQgYWwuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMDcwMDcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBObyBuZXcgdGVzdHMgKE9PUFMhKS4KKworICAgICAgICAqIEdQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHkuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eTo6dXBkYXRlVmlkZW9GdWxsc2NyZWVu
SW5saW5lSW1hZ2UpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQ
cm94eTo6c2V0VmlkZW9GdWxsc2NyZWVuRnJhbWUpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVN
ZWRpYVBsYXllck1hbmFnZXJQcm94eTo6c2V0VmlkZW9GdWxsc2NyZWVuR3Jhdml0eSk6CisgICAg
ICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5OjpzZXRWaWRlb0Z1bGxz
Y3JlZW5Nb2RlKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJv
eHk6OnNldFZvbHVtZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyTWFuYWdl
clByb3h5OjpzZXRCdWZmZXJpbmdQb2xpY3kpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRp
YVBsYXllck1hbmFnZXJQcm94eTo6dmlkZW9GdWxsc2NyZWVuU3RhbmRieUNoYW5nZWQpOgorICAg
ICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eTo6YWNjZXNzTG9nKToK
KyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHk6OmVycm9yTG9n
KToKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlclBy
b3h5Lmg6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFn
ZXJQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1l
ZGlhUGxheWVyUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllclBy
b3h5Ojp1cGRhdGVWaWRlb0Z1bGxzY3JlZW5JbmxpbmVJbWFnZSk6CisgICAgICAgIChXZWJLaXQ6
OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6OnNldFZpZGVvRnVsbHNjcmVlbk1vZGUpOgorICAgICAg
ICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjpzZXRCdWZmZXJpbmdQb2xpY3kpOgor
ICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllclByb3h5Ojp2aWRlb0Z1bGxzY3JlZW5T
dGFuZGJ5Q2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6
OmFjY2Vzc0xvZyk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6OmVy
cm9yTG9nKToKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJv
eHkuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHku
bWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQ
cml2YXRlUmVtb3RlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2YXRlUmVt
b3RlOjp1cGRhdGVWaWRlb0Z1bGxzY3JlZW5JbmxpbmVJbWFnZSk6CisgICAgICAgIChXZWJLaXQ6
Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6c2V0VmlkZW9GdWxsc2NyZWVuTW9kZSk6CisgICAg
ICAgIChXZWJLaXQ6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6dmlkZW9GdWxsc2NyZWVuU3Rh
bmRieUNoYW5nZWQpOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6
OmFjY2Vzc0xvZyBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6Ok1lZGlhUGxheWVyUHJpdmF0ZVJl
bW90ZTo6ZXJyb3JMb2cgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVBsYXllclByaXZh
dGVSZW1vdGU6OnNldEJ1ZmZlcmluZ1BvbGljeSk6CisKIDIwMjAtMDEtMjggIENhcmxvcyBHYXJj
aWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdW1dQRV0gUVIg
Y29kZSBub3QgbG9hZGVkIGluIHdlYi53aGF0c2FwcC5jb20KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2Vy
UHJveHkuY3BwCmluZGV4IDhlYWIxM2MxYjQ5Y2UyMWJlYTQ4NGU5NWQ1ZTI4YmMzOWE3ZmViMWIu
LjMzMTNhOWQ1ZTUxNzE0YzhmMGE1ZWViZDI5Y2I2NDE1YmZiMDk4MTUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94
eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxh
eWVyTWFuYWdlclByb3h5LmNwcApAQCAtMTk2LDYgKzE5Niw2NiBAQCB2b2lkIFJlbW90ZU1lZGlh
UGxheWVyTWFuYWdlclByb3h5OjpzdXBwb3J0c0tleVN5c3RlbShNZWRpYVBsYXllckVudW1zOjpN
ZWRpYUVuZwogICAgIGNvbXBsZXRpb25IYW5kbGVyKHJlc3VsdCk7CiB9CiAKK3ZvaWQgUmVtb3Rl
TWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHk6OnVwZGF0ZVZpZGVvRnVsbHNjcmVlbklubGluZUltYWdl
KE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIgcGxheWVySWRlbnRpZmllcikKK3sK
KyAgICBpZiAoYXV0byBwbGF5ZXIgPSBtX3Byb3hpZXMuZ2V0KHBsYXllcklkZW50aWZpZXIpKQor
ICAgICAgICBwbGF5ZXItPnVwZGF0ZVZpZGVvRnVsbHNjcmVlbklubGluZUltYWdlKCk7Cit9CisK
K3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHk6OnNldFZpZGVvRnVsbHNjcmVlbkZy
YW1lKE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIgcGxheWVySWRlbnRpZmllciwg
RmxvYXRSZWN0IGZyYW1lKQoreworICAgIGlmIChhdXRvIHBsYXllciA9IG1fcHJveGllcy5nZXQo
cGxheWVySWRlbnRpZmllcikpCisgICAgICAgIHBsYXllci0+c2V0VmlkZW9GdWxsc2NyZWVuRnJh
bWUoZnJhbWUpOworfQorCit2b2lkIFJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5OjpzZXRW
aWRlb0Z1bGxzY3JlZW5HcmF2aXR5KE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIg
cGxheWVySWRlbnRpZmllciwgTWVkaWFQbGF5ZXI6OlZpZGVvR3Jhdml0eSBncmF2aXR5KQorewor
ICAgIGlmIChhdXRvIHBsYXllciA9IG1fcHJveGllcy5nZXQocGxheWVySWRlbnRpZmllcikpCisg
ICAgICAgIHBsYXllci0+c2V0VmlkZW9GdWxsc2NyZWVuR3Jhdml0eShncmF2aXR5KTsKK30KKwor
dm9pZCBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eTo6c2V0VmlkZW9GdWxsc2NyZWVuTW9k
ZShNZWRpYVBsYXllclByaXZhdGVSZW1vdGVJZGVudGlmaWVyIHBsYXllcklkZW50aWZpZXIsIE1l
ZGlhUGxheWVyOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlIG1vZGUpCit7CisgICAgaWYgKGF1dG8gcGxh
eWVyID0gbV9wcm94aWVzLmdldChwbGF5ZXJJZGVudGlmaWVyKSkKKyAgICAgICAgcGxheWVyLT5z
ZXRWaWRlb0Z1bGxzY3JlZW5Nb2RlKG1vZGUpOworfQorCit2b2lkIFJlbW90ZU1lZGlhUGxheWVy
TWFuYWdlclByb3h5OjpzZXRWb2x1bWUoTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlSWRlbnRpZmll
ciBwbGF5ZXJJZGVudGlmaWVyLCBkb3VibGUgdm9sdW1lKQoreworICAgIGlmIChhdXRvIHBsYXll
ciA9IG1fcHJveGllcy5nZXQocGxheWVySWRlbnRpZmllcikpCisgICAgICAgIHBsYXllci0+c2V0
Vm9sdW1lKHZvbHVtZSk7Cit9CisKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHk6
OnNldEJ1ZmZlcmluZ1BvbGljeShNZWRpYVBsYXllclByaXZhdGVSZW1vdGVJZGVudGlmaWVyIHBs
YXllcklkZW50aWZpZXIsIFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpCdWZmZXJpbmdQb2xpY3kgcG9s
aWN5KQoreworICAgIGlmIChhdXRvIHBsYXllciA9IG1fcHJveGllcy5nZXQocGxheWVySWRlbnRp
ZmllcikpCisgICAgICAgIHBsYXllci0+c2V0QnVmZmVyaW5nUG9saWN5KHBvbGljeSk7Cit9CisK
K3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHk6OnZpZGVvRnVsbHNjcmVlblN0YW5k
YnlDaGFuZ2VkKE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIgcGxheWVySWRlbnRp
ZmllcikKK3sKKyAgICBpZiAoYXV0byBwbGF5ZXIgPSBtX3Byb3hpZXMuZ2V0KHBsYXllcklkZW50
aWZpZXIpKQorICAgICAgICBwbGF5ZXItPnZpZGVvRnVsbHNjcmVlblN0YW5kYnlDaGFuZ2VkKCk7
Cit9CisKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQordm9pZCBSZW1vdGVNZWRpYVBsYXllck1h
bmFnZXJQcm94eTo6YWNjZXNzTG9nKE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIg
cGxheWVySWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChTdHJpbmcpPiYmIGNvbXBs
ZXRpb25IYW5kbGVyKQoreworICAgIGlmIChhdXRvIHBsYXllciA9IG1fcHJveGllcy5nZXQocGxh
eWVySWRlbnRpZmllcikpIHsKKyAgICAgICAgU3RyaW5nIGxvZyA9IHBsYXllci0+YWNjZXNzTG9n
KCk7CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKGxvZyk7CisgICAgfQorfQorCit2b2lkIFJl
bW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5OjplcnJvckxvZyhNZWRpYVBsYXllclByaXZhdGVS
ZW1vdGVJZGVudGlmaWVyIHBsYXllcklkZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
U3RyaW5nKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3sKKyAgICBpZiAoYXV0byBwbGF5ZXIgPSBt
X3Byb3hpZXMuZ2V0KHBsYXllcklkZW50aWZpZXIpKSB7CisgICAgICAgIFN0cmluZyBsb2cgPSBw
bGF5ZXItPmVycm9yTG9nKCk7CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKGxvZyk7CisgICAg
fQorfQorI2VuZGlmCisKIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHk6OmRpZFJl
Y2VpdmVQbGF5ZXJNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgSVBDOjpEZWNv
ZGVyJiBkZWNvZGVyKQogewogICAgIGlmIChhdXRvKiBwbGF5ZXIgPSBtX3Byb3hpZXMuZ2V0KG1h
a2VPYmplY3RJZGVudGlmaWVyPE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXJUeXBl
PihkZWNvZGVyLmRlc3RpbmF0aW9uSUQoKSkpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5LmggYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHkuaApp
bmRleCBhZTMyOGNiN2QwOTM2MjZhYjJiMzI3Y2Q1YTYzMzQ2MGZkNzA0MTQ1Li5mMzg5NzFjN2I4
MzdhOTg1MDU3ODJmZGFjMzA4MTVhOWMzMTQwNzFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHkuaAorKysgYi9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJv
eHkuaApAQCAtODQsNiArODQsMjEgQEAgcHJpdmF0ZToKICAgICB2b2lkIGNsZWFyTWVkaWFDYWNo
ZUZvck9yaWdpbnMoV2ViQ29yZTo6TWVkaWFQbGF5ZXJFbnVtczo6TWVkaWFFbmdpbmVJZGVudGlm
aWVyLCBjb25zdCBTdHJpbmcmJiwgVmVjdG9yPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YT4m
Jik7CiAgICAgdm9pZCBzdXBwb3J0c0tleVN5c3RlbShXZWJDb3JlOjpNZWRpYVBsYXllckVudW1z
OjpNZWRpYUVuZ2luZUlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYmLCBjb25zdCBTdHJpbmcmJiwg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJik7CiAKKyAgICB2b2lkIHVwZGF0ZVZpZGVv
RnVsbHNjcmVlbklubGluZUltYWdlKE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIp
OworICAgIHZvaWQgc2V0VmlkZW9GdWxsc2NyZWVuRnJhbWUoTWVkaWFQbGF5ZXJQcml2YXRlUmVt
b3RlSWRlbnRpZmllciwgV2ViQ29yZTo6RmxvYXRSZWN0KTsKKyAgICB2b2lkIHNldFZpZGVvRnVs
bHNjcmVlbkdyYXZpdHkoTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlSWRlbnRpZmllciwgV2ViQ29y
ZTo6TWVkaWFQbGF5ZXI6OlZpZGVvR3Jhdml0eSk7CisgICAgdm9pZCBzZXRWaWRlb0Z1bGxzY3Jl
ZW5Nb2RlKE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIsIFdlYkNvcmU6Ok1lZGlh
UGxheWVyOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlKTsKKworICAgIHZvaWQgdmlkZW9GdWxsc2NyZWVu
U3RhbmRieUNoYW5nZWQoTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlSWRlbnRpZmllcik7CisKKyAg
ICB2b2lkIHNldFZvbHVtZShNZWRpYVBsYXllclByaXZhdGVSZW1vdGVJZGVudGlmaWVyLCBkb3Vi
bGUpOworICAgIHZvaWQgc2V0QnVmZmVyaW5nUG9saWN5KE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90
ZUlkZW50aWZpZXIsIFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpCdWZmZXJpbmdQb2xpY3kpOworCisj
aWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICB2b2lkIGFjY2Vzc0xvZyhNZWRpYVBsYXllclBy
aXZhdGVSZW1vdGVJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFN0cmluZyk+JiYp
OworICAgIHZvaWQgZXJyb3JMb2coTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlSWRlbnRpZmllciwg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChTdHJpbmcpPiYmKTsKKyNlbmRpZgorCiAgICAgSGFzaE1h
cDxNZWRpYVBsYXllclByaXZhdGVSZW1vdGVJZGVudGlmaWVyLCBzdGQ6OnVuaXF1ZV9wdHI8UmVt
b3RlTWVkaWFQbGF5ZXJQcm94eT4+IG1fcHJveGllczsKICAgICBHUFVDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzJiBtX2dwdUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eS5t
ZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBs
YXllck1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbgppbmRleCA2NGYzY2JmMjBjNTJjMzYyMDZhYWVi
OWM0OTk3YTcyZjViZTQwZjg3Li4yMGIxOGQzMGE5NjZmYjc5ODg3NDg3MDc4MjRlYjgxZTE4YjI5
ZDJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVk
aWFQbGF5ZXJNYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluCkBA
IC0zNCw2ICszNCwxMSBAQCBtZXNzYWdlcyAtPiBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94
eSBOb3RSZWZDb3VudGVkIHsKICAgICBDbGVhck1lZGlhQ2FjaGUoZW51bTp1aW50OF90IFdlYkNv
cmU6Ok1lZGlhUGxheWVyRW51bXM6Ok1lZGlhRW5naW5lSWRlbnRpZmllciByZW1vdGVFbmdpbmVJ
ZGVudGlmaWVyLCBTdHJpbmcgcGF0aCwgV2FsbFRpbWUgbW9kaWZpZWRTaW5jZSkKICAgICBDbGVh
ck1lZGlhQ2FjaGVGb3JPcmlnaW5zKGVudW06dWludDhfdCBXZWJDb3JlOjpNZWRpYVBsYXllckVu
dW1zOjpNZWRpYUVuZ2luZUlkZW50aWZpZXIgcmVtb3RlRW5naW5lSWRlbnRpZmllciwgU3RyaW5n
IHBhdGgsIFZlY3RvcjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGE+IG9yaWdpbnMpCiAgICAg
U3VwcG9ydHNLZXlTeXN0ZW0oZW51bTp1aW50OF90IFdlYkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6
Ok1lZGlhRW5naW5lSWRlbnRpZmllciByZW1vdGVFbmdpbmVJZGVudGlmaWVyLCBTdHJpbmcga2V5
U3lzdGVtLCBTdHJpbmcgbWltZVR5cGUpIC0+IChib29sIHN1cHBvcnRzKSBTeW5jaHJvbm91cwor
CisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBBY2Nlc3NMb2coV2ViS2l0OjpNZWRpYVBs
YXllclByaXZhdGVSZW1vdGVJZGVudGlmaWVyIHBsYXllcklkZW50aWZpZXIpIC0+IChTdHJpbmcg
YWNjZXNzTG9nKSBTeW5jaHJvbm91cworICAgIEVycm9yTG9nKFdlYktpdDo6TWVkaWFQbGF5ZXJQ
cml2YXRlUmVtb3RlSWRlbnRpZmllciBwbGF5ZXJJZGVudGlmaWVyKSAtPiAoU3RyaW5nIGVycm9y
TG9nKSBTeW5jaHJvbm91cworI2VuZGlmCiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3BwIGIvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3BwCmlu
ZGV4IDMwZTdhMDg1YTZlNzJmNGYzNWYzMmMxMWZiZTRlN2VjMzFiM2E1ZjcuLmZkNzhiMjViM2Iw
MDcwZjU3M2EzMmM2MWRiMzRmZDk3MDI3YWI4YjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHAKQEAgLTI0
MCw2ICsyNDAsMzggQEAgdm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjpyZW1vdmVSZXNvdXJj
ZShSZW1vdGVNZWRpYVJlc291cmNlSWRlbnRpZmllciByZW1vdGUKIH0KIAogLy8gTWVkaWFQbGF5
ZXJDbGllbnQKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6dXBkYXRlVmlkZW9GdWxsc2Ny
ZWVuSW5saW5lSW1hZ2UoKQoreworICAgIG1fcGxheWVyLT51cGRhdGVWaWRlb0Z1bGxzY3JlZW5J
bmxpbmVJbWFnZSgpOworfQorCit2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OnNldFZpZGVv
RnVsbHNjcmVlbk1vZGUoTWVkaWFQbGF5ZXI6OlZpZGVvRnVsbHNjcmVlbk1vZGUgbW9kZSkKK3sK
KyAgICBtX3BsYXllci0+c2V0VmlkZW9GdWxsc2NyZWVuTW9kZShtb2RlKTsKK30KKwordm9pZCBS
ZW1vdGVNZWRpYVBsYXllclByb3h5OjpzZXRCdWZmZXJpbmdQb2xpY3koTWVkaWFQbGF5ZXI6OkJ1
ZmZlcmluZ1BvbGljeSBwb2xpY3kpCit7CisgICAgbV9wbGF5ZXItPnNldEJ1ZmZlcmluZ1BvbGlj
eShwb2xpY3kpOworfQorCit2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OnZpZGVvRnVsbHNj
cmVlblN0YW5kYnlDaGFuZ2VkKCkKK3sKKyAgICBtX3BsYXllci0+dmlkZW9GdWxsc2NyZWVuU3Rh
bmRieUNoYW5nZWQoKTsKK30KKworI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCitTdHJpbmcgUmVt
b3RlTWVkaWFQbGF5ZXJQcm94eTo6YWNjZXNzTG9nKCkKK3sKKyAgICByZXR1cm4gbV9wbGF5ZXIt
PmFjY2Vzc0xvZygpOworfQorCitTdHJpbmcgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6ZXJyb3JM
b2coKQoreworICAgIHJldHVybiBtX3BsYXllci0+ZXJyb3JMb2coKTsKK30KKyNlbmRpZgorCiB2
b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6Om1lZGlhUGxheWVyTmV0d29ya1N0YXRlQ2hhbmdl
ZCgpCiB7CiAgICAgdXBkYXRlQ2FjaGVkU3RhdGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmggYi9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oCmluZGV4IGNhYTk2
YTM0MjY4MzlmODEwZDE0MmNjMmEzZjc1NzYwODk0MTYzMGUuLjkwYTNiM2QwZGUxMjk4MGM3ZDVh
YWY4OTY3MmUzMjNhMzQyZWQxZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuaApAQCAtNzAsNiArNzAsMTggQEAg
cHVibGljOgogICAgIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIgaWRlbmRpZmll
cigpIGNvbnN0IHsgcmV0dXJuIG1faWQ7IH0KICAgICB2b2lkIGludmFsaWRhdGUoKTsKIAorICAg
IHZvaWQgdXBkYXRlVmlkZW9GdWxsc2NyZWVuSW5saW5lSW1hZ2UoKTsKKyAgICB2b2lkIHNldFZp
ZGVvRnVsbHNjcmVlbk1vZGUoV2ViQ29yZTo6TWVkaWFQbGF5ZXI6OlZpZGVvRnVsbHNjcmVlbk1v
ZGUpOworCisgICAgdm9pZCBzZXRCdWZmZXJpbmdQb2xpY3koV2ViQ29yZTo6TWVkaWFQbGF5ZXI6
OkJ1ZmZlcmluZ1BvbGljeSk7CisKKyAgICB2b2lkIHZpZGVvRnVsbHNjcmVlblN0YW5kYnlDaGFu
Z2VkKCk7CisKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorICAgIFN0cmluZyBhY2Nlc3NMb2co
KTsKKyAgICBTdHJpbmcgZXJyb3JMb2coKTsKKyNlbmRpZgorCiAgICAgdm9pZCBkaWRSZWNlaXZl
TWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKSBmaW5hbDsKIAogICAgIHZv
aWQgZ2V0Q29uZmlndXJhdGlvbihSZW1vdGVNZWRpYVBsYXllckNvbmZpZ3VyYXRpb24mKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXll
clByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90
ZU1lZGlhUGxheWVyUHJveHkubWVzc2FnZXMuaW4KaW5kZXggMzk2MDcwN2U0YjQ4OGU4NmFkNTU3
ZTU0Y2Q2OWIwNmM2MjZjMGZjYS4uNjkzNzdlZTEzMmI0ZWU3ZmQ0YWJhNThiNDQ3YWMwYjhhZjU3
NTk3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1l
ZGlhUGxheWVyUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkubWVzc2FnZXMuaW4KQEAgLTUzLDYgKzUzLDEy
IEBAIG1lc3NhZ2VzIC0+IFJlbW90ZU1lZGlhUGxheWVyUHJveHkgTm90UmVmQ291bnRlZCB7CiAg
ICAgU2V0U2hvdWxkRGlzYWJsZVNsZWVwKGJvb2wgZGlzYWJsZSkKICAgICBTZXRSYXRlKGRvdWJs
ZSByYXRlKQogCisgICAgVXBkYXRlVmlkZW9GdWxsc2NyZWVuSW5saW5lSW1hZ2UoKQorICAgIFNl
dFZpZGVvRnVsbHNjcmVlbk1vZGUoV2ViQ29yZTo6TWVkaWFQbGF5ZXI6OlZpZGVvRnVsbHNjcmVl
bk1vZGUgbW9kZSkKKyAgICBWaWRlb0Z1bGxzY3JlZW5TdGFuZGJ5Q2hhbmdlZCgpCisKKyAgICBT
ZXRCdWZmZXJpbmdQb2xpY3koV2ViQ29yZTo6TWVkaWFQbGF5ZXI6OkJ1ZmZlcmluZ1BvbGljeSBw
b2xpY3kpCisKICAgICBBdWRpb1RyYWNrU2V0RW5hYmxlZChXZWJLaXQ6OlRyYWNrUHJpdmF0ZVJl
bW90ZUlkZW50aWZpZXIgdHJhY2tJRCwgYm9vbCBlbmFibGVkKQogICAgIFZpZGVvVHJhY2tTZXRT
ZWxlY3RlZChXZWJLaXQ6OlRyYWNrUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIgdHJhY2tJRCwgYm9v
bCBlbmFibGVkKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21l
ZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAKaW5kZXggNGFiYzdiZjgz
YzVmZTEwMzFkNTZhMGFkYmJlZTg0YmRkMDdiNTA2Yi4uNzM2NTg0ZjI2YjIyMTYyY2M2MDZhZmZk
ZjBiYjc2YTI3MTUxM2MzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcApAQCAtNTAy
LDE3ICs1MDIsMTcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnNldFZpZGVvRnVs
bHNjcmVlbkxheWVyKFBsYXRmb3JtTGF5ZXIqLCBXVEY6OkZ1bmMKIAogdm9pZCBNZWRpYVBsYXll
clByaXZhdGVSZW1vdGU6OnVwZGF0ZVZpZGVvRnVsbHNjcmVlbklubGluZUltYWdlKCkKIHsKLSAg
ICBub3RJbXBsZW1lbnRlZCgpOworICAgIGNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpSZW1v
dGVNZWRpYVBsYXllclByb3h5OjpVcGRhdGVWaWRlb0Z1bGxzY3JlZW5JbmxpbmVJbWFnZSgpLCBt
X2lkKTsKIH0KIAotdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnNldFZpZGVvRnVsbHNj
cmVlbk1vZGUoTWVkaWFQbGF5ZXI6OlZpZGVvRnVsbHNjcmVlbk1vZGUpCit2b2lkIE1lZGlhUGxh
eWVyUHJpdmF0ZVJlbW90ZTo6c2V0VmlkZW9GdWxsc2NyZWVuTW9kZShNZWRpYVBsYXllcjo6Vmlk
ZW9GdWxsc2NyZWVuTW9kZSBtb2RlKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgY29u
bmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6OlNldFZpZGVv
RnVsbHNjcmVlbk1vZGUobW9kZSksIG1faWQpOwogfQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0
ZVJlbW90ZTo6dmlkZW9GdWxsc2NyZWVuU3RhbmRieUNoYW5nZWQoKQogewotICAgIG5vdEltcGxl
bWVudGVkKCk7CisgICAgY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxh
eWVyUHJveHk6OlZpZGVvRnVsbHNjcmVlblN0YW5kYnlDaGFuZ2VkKCksIG1faWQpOwogfQogI2Vu
ZGlmCiAKQEAgLTUyNSwyMCArNTI1LDI4IEBAIE5TQXJyYXkqIE1lZGlhUGxheWVyUHJpdmF0ZVJl
bW90ZTo6dGltZWRNZXRhZGF0YSgpIGNvbnN0CiAKIFN0cmluZyBNZWRpYVBsYXllclByaXZhdGVS
ZW1vdGU6OmFjY2Vzc0xvZygpIGNvbnN0CiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICBy
ZXR1cm4gZW1wdHlTdHJpbmcoKTsKKyAgICBTdHJpbmcgbG9nOworICAgIAorICAgIGlmICghY29u
bmVjdGlvbigpLnNlbmRTeW5jKE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94
eTo6QWNjZXNzTG9nKG1faWQpLCBNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJv
eHk6OkFjY2Vzc0xvZzo6UmVwbHkobG9nKSwgbV9pZCkpCisgICAgICAgIHJldHVybiBlbXB0eVN0
cmluZygpOworCisgICAgcmV0dXJuIGxvZzsKIH0KIAogU3RyaW5nIE1lZGlhUGxheWVyUHJpdmF0
ZVJlbW90ZTo6ZXJyb3JMb2coKSBjb25zdAogewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAg
cmV0dXJuIGVtcHR5U3RyaW5nKCk7CisgICAgU3RyaW5nIGxvZzsKKyAgICAKKyAgICBpZiAoIWNv
bm5lY3Rpb24oKS5zZW5kU3luYyhNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJv
eHk6OkVycm9yTG9nKG1faWQpLCBNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJv
eHk6OkVycm9yTG9nOjpSZXBseShsb2cpLCBtX2lkKSkKKyAgICAgICAgcmV0dXJuIGVtcHR5U3Ry
aW5nKCk7CisKKyAgICByZXR1cm4gbG9nOwogfQogI2VuZGlmCiAKLXZvaWQgTWVkaWFQbGF5ZXJQ
cml2YXRlUmVtb3RlOjpzZXRCdWZmZXJpbmdQb2xpY3koTWVkaWFQbGF5ZXI6OkJ1ZmZlcmluZ1Bv
bGljeSkKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpzZXRCdWZmZXJpbmdQb2xpY3ko
TWVkaWFQbGF5ZXI6OkJ1ZmZlcmluZ1BvbGljeSBwb2xpY3kpCiB7Ci0gICAgbm90SW1wbGVtZW50
ZWQoKTsKKyAgICBjb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJQ
cm94eTo6U2V0QnVmZmVyaW5nUG9saWN5KHBvbGljeSksIG1faWQpOwogfQogCiBib29sIE1lZGlh
UGxheWVyUHJpdmF0ZVJlbW90ZTo6Y2FuU2F2ZU1lZGlhRGF0YSgpIGNvbnN0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>391655</attachid>
            <date>2020-02-25 08:49:13 -0800</date>
            <delta_ts>2020-02-27 11:14:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-207007-20200225114912.patch</filename>
            <type>text/plain</type>
            <size>14070</size>
            <attacher name="Tim Monroe">timmon</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1MjMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGZhN2Q5NmI0YjZjZDA1ZWMy
MzBjNDEzMjAzMTllOTQxM2FkZDcyMDYuLmY2MTU2ODRmNDMxNTcwYWMwMzQ2OTllZGVjMWMyY2Nj
YWUzZTdjYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEgQEAKKzIwMjAtMDEtMzAgIFRpbSBNb25y
b2UgIDx0aW1tb25AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBHUFUgUHJvY2VzcyBzdXBwb3J0
IGZvciBhY2Nlc3NMb2cgZXQgYWwuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMDcwMDcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBObyB0ZXN0cyBpbmNsdWRlZCBoZXJlLgorCisgICAgICAgICogR1BVUHJv
Y2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5Ojp1cGRhdGVWaWRlb0Z1bGxzY3Jl
ZW5JbmxpbmVJbWFnZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyTWFuYWdl
clByb3h5OjpzZXRWaWRlb0Z1bGxzY3JlZW5GcmFtZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90
ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5OjpzZXRWaWRlb0Z1bGxzY3JlZW5HcmF2aXR5KToKKyAg
ICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHk6OnNldFZpZGVvRnVs
bHNjcmVlbk1vZGUpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQ
cm94eTo6c2V0Vm9sdW1lKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFQbGF5ZXJNYW5h
Z2VyUHJveHk6OnNldEJ1ZmZlcmluZ1BvbGljeSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1l
ZGlhUGxheWVyTWFuYWdlclByb3h5Ojp2aWRlb0Z1bGxzY3JlZW5TdGFuZGJ5Q2hhbmdlZCk6Cisg
ICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5OjphY2Nlc3NMb2cp
OgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eTo6ZXJyb3JM
b2cpOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2Vy
UHJveHkuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFu
YWdlclByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
TWVkaWFQbGF5ZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVy
UHJveHk6OnVwZGF0ZVZpZGVvRnVsbHNjcmVlbklubGluZUltYWdlKToKKyAgICAgICAgKFdlYktp
dDo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6c2V0VmlkZW9GdWxsc2NyZWVuTW9kZSk6CisgICAg
ICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6OnNldEJ1ZmZlcmluZ1BvbGljeSk6
CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6OnZpZGVvRnVsbHNjcmVl
blN0YW5kYnlDaGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94
eTo6YWNjZXNzTG9nKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6
ZXJyb3JMb2cpOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQ
cm94eS5oOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94
eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXll
clByaXZhdGVSZW1vdGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVBsYXllclByaXZhdGVS
ZW1vdGU6OnVwZGF0ZVZpZGVvRnVsbHNjcmVlbklubGluZUltYWdlKToKKyAgICAgICAgKFdlYktp
dDo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpzZXRWaWRlb0Z1bGxzY3JlZW5Nb2RlKToKKyAg
ICAgICAgKFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjp2aWRlb0Z1bGxzY3JlZW5T
dGFuZGJ5Q2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90
ZTo6YWNjZXNzTG9nIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2YXRl
UmVtb3RlOjplcnJvckxvZyBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6Ok1lZGlhUGxheWVyUHJp
dmF0ZVJlbW90ZTo6c2V0QnVmZmVyaW5nUG9saWN5KToKKwogMjAyMC0wMS0yOCAgQ2FybG9zIEdh
cmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS11bV1BFXSBR
UiBjb2RlIG5vdCBsb2FkZWQgaW4gd2ViLndoYXRzYXBwLmNvbQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5LmNw
cCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFn
ZXJQcm94eS5jcHAKaW5kZXggOGVhYjEzYzFiNDljZTIxYmVhNDg0ZTk1ZDVlMjhiYzM5YTdmZWIx
Yi4uMzMxM2E5ZDVlNTE3MTRjOGYwYTVlZWJkMjljYjY0MTViZmIwOTgxNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlclBy
b3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQ
bGF5ZXJNYW5hZ2VyUHJveHkuY3BwCkBAIC0xOTYsNiArMTk2LDY2IEBAIHZvaWQgUmVtb3RlTWVk
aWFQbGF5ZXJNYW5hZ2VyUHJveHk6OnN1cHBvcnRzS2V5U3lzdGVtKE1lZGlhUGxheWVyRW51bXM6
Ok1lZGlhRW5nCiAgICAgY29tcGxldGlvbkhhbmRsZXIocmVzdWx0KTsKIH0KIAordm9pZCBSZW1v
dGVNZWRpYVBsYXllck1hbmFnZXJQcm94eTo6dXBkYXRlVmlkZW9GdWxsc2NyZWVuSW5saW5lSW1h
Z2UoTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlSWRlbnRpZmllciBwbGF5ZXJJZGVudGlmaWVyKQor
eworICAgIGlmIChhdXRvIHBsYXllciA9IG1fcHJveGllcy5nZXQocGxheWVySWRlbnRpZmllcikp
CisgICAgICAgIHBsYXllci0+dXBkYXRlVmlkZW9GdWxsc2NyZWVuSW5saW5lSW1hZ2UoKTsKK30K
Kwordm9pZCBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eTo6c2V0VmlkZW9GdWxsc2NyZWVu
RnJhbWUoTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlSWRlbnRpZmllciBwbGF5ZXJJZGVudGlmaWVy
LCBGbG9hdFJlY3QgZnJhbWUpCit7CisgICAgaWYgKGF1dG8gcGxheWVyID0gbV9wcm94aWVzLmdl
dChwbGF5ZXJJZGVudGlmaWVyKSkKKyAgICAgICAgcGxheWVyLT5zZXRWaWRlb0Z1bGxzY3JlZW5G
cmFtZShmcmFtZSk7Cit9CisKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHk6OnNl
dFZpZGVvRnVsbHNjcmVlbkdyYXZpdHkoTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlSWRlbnRpZmll
ciBwbGF5ZXJJZGVudGlmaWVyLCBNZWRpYVBsYXllcjo6VmlkZW9HcmF2aXR5IGdyYXZpdHkpCit7
CisgICAgaWYgKGF1dG8gcGxheWVyID0gbV9wcm94aWVzLmdldChwbGF5ZXJJZGVudGlmaWVyKSkK
KyAgICAgICAgcGxheWVyLT5zZXRWaWRlb0Z1bGxzY3JlZW5HcmF2aXR5KGdyYXZpdHkpOworfQor
Cit2b2lkIFJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5OjpzZXRWaWRlb0Z1bGxzY3JlZW5N
b2RlKE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIgcGxheWVySWRlbnRpZmllciwg
TWVkaWFQbGF5ZXI6OlZpZGVvRnVsbHNjcmVlbk1vZGUgbW9kZSkKK3sKKyAgICBpZiAoYXV0byBw
bGF5ZXIgPSBtX3Byb3hpZXMuZ2V0KHBsYXllcklkZW50aWZpZXIpKQorICAgICAgICBwbGF5ZXIt
PnNldFZpZGVvRnVsbHNjcmVlbk1vZGUobW9kZSk7Cit9CisKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5
ZXJNYW5hZ2VyUHJveHk6OnNldFZvbHVtZShNZWRpYVBsYXllclByaXZhdGVSZW1vdGVJZGVudGlm
aWVyIHBsYXllcklkZW50aWZpZXIsIGRvdWJsZSB2b2x1bWUpCit7CisgICAgaWYgKGF1dG8gcGxh
eWVyID0gbV9wcm94aWVzLmdldChwbGF5ZXJJZGVudGlmaWVyKSkKKyAgICAgICAgcGxheWVyLT5z
ZXRWb2x1bWUodm9sdW1lKTsKK30KKwordm9pZCBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94
eTo6c2V0QnVmZmVyaW5nUG9saWN5KE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIg
cGxheWVySWRlbnRpZmllciwgV2ViQ29yZTo6TWVkaWFQbGF5ZXI6OkJ1ZmZlcmluZ1BvbGljeSBw
b2xpY3kpCit7CisgICAgaWYgKGF1dG8gcGxheWVyID0gbV9wcm94aWVzLmdldChwbGF5ZXJJZGVu
dGlmaWVyKSkKKyAgICAgICAgcGxheWVyLT5zZXRCdWZmZXJpbmdQb2xpY3kocG9saWN5KTsKK30K
Kwordm9pZCBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eTo6dmlkZW9GdWxsc2NyZWVuU3Rh
bmRieUNoYW5nZWQoTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlSWRlbnRpZmllciBwbGF5ZXJJZGVu
dGlmaWVyKQoreworICAgIGlmIChhdXRvIHBsYXllciA9IG1fcHJveGllcy5nZXQocGxheWVySWRl
bnRpZmllcikpCisgICAgICAgIHBsYXllci0+dmlkZW9GdWxsc2NyZWVuU3RhbmRieUNoYW5nZWQo
KTsKK30KKworI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCit2b2lkIFJlbW90ZU1lZGlhUGxheWVy
TWFuYWdlclByb3h5OjphY2Nlc3NMb2coTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlSWRlbnRpZmll
ciBwbGF5ZXJJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFN0cmluZyk+JiYgY29t
cGxldGlvbkhhbmRsZXIpCit7CisgICAgaWYgKGF1dG8gcGxheWVyID0gbV9wcm94aWVzLmdldChw
bGF5ZXJJZGVudGlmaWVyKSkgeworICAgICAgICBTdHJpbmcgbG9nID0gcGxheWVyLT5hY2Nlc3NM
b2coKTsKKyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIobG9nKTsKKyAgICB9Cit9CisKK3ZvaWQg
UmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHk6OmVycm9yTG9nKE1lZGlhUGxheWVyUHJpdmF0
ZVJlbW90ZUlkZW50aWZpZXIgcGxheWVySWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZChTdHJpbmcpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQoreworICAgIGlmIChhdXRvIHBsYXllciA9
IG1fcHJveGllcy5nZXQocGxheWVySWRlbnRpZmllcikpIHsKKyAgICAgICAgU3RyaW5nIGxvZyA9
IHBsYXllci0+ZXJyb3JMb2coKTsKKyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIobG9nKTsKKyAg
ICB9Cit9CisjZW5kaWYKKwogdm9pZCBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eTo6ZGlk
UmVjZWl2ZVBsYXllck1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBJUEM6OkRl
Y29kZXImIGRlY29kZXIpCiB7CiAgICAgaWYgKGF1dG8qIHBsYXllciA9IG1fcHJveGllcy5nZXQo
bWFrZU9iamVjdElkZW50aWZpZXI8TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlSWRlbnRpZmllclR5
cGU+KGRlY29kZXIuZGVzdGluYXRpb25JRCgpKSkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHkuaCBiL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eS5o
CmluZGV4IGFlMzI4Y2I3ZDA5MzYyNmFiMmIzMjdjZDVhNjMzNDYwZmQ3MDQxNDUuLmYzODk3MWM3
YjgzN2E5ODUwNTc4MmZkYWMzMDgxNWE5YzMxNDA3MWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQ
cm94eS5oCkBAIC04NCw2ICs4NCwyMSBAQCBwcml2YXRlOgogICAgIHZvaWQgY2xlYXJNZWRpYUNh
Y2hlRm9yT3JpZ2lucyhXZWJDb3JlOjpNZWRpYVBsYXllckVudW1zOjpNZWRpYUVuZ2luZUlkZW50
aWZpZXIsIGNvbnN0IFN0cmluZyYmLCBWZWN0b3I8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRh
PiYmKTsKICAgICB2b2lkIHN1cHBvcnRzS2V5U3lzdGVtKFdlYkNvcmU6Ok1lZGlhUGxheWVyRW51
bXM6Ok1lZGlhRW5naW5lSWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiYsIGNvbnN0IFN0cmluZyYm
LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKTsKIAorICAgIHZvaWQgdXBkYXRlVmlk
ZW9GdWxsc2NyZWVuSW5saW5lSW1hZ2UoTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlSWRlbnRpZmll
cik7CisgICAgdm9pZCBzZXRWaWRlb0Z1bGxzY3JlZW5GcmFtZShNZWRpYVBsYXllclByaXZhdGVS
ZW1vdGVJZGVudGlmaWVyLCBXZWJDb3JlOjpGbG9hdFJlY3QpOworICAgIHZvaWQgc2V0VmlkZW9G
dWxsc2NyZWVuR3Jhdml0eShNZWRpYVBsYXllclByaXZhdGVSZW1vdGVJZGVudGlmaWVyLCBXZWJD
b3JlOjpNZWRpYVBsYXllcjo6VmlkZW9HcmF2aXR5KTsKKyAgICB2b2lkIHNldFZpZGVvRnVsbHNj
cmVlbk1vZGUoTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlSWRlbnRpZmllciwgV2ViQ29yZTo6TWVk
aWFQbGF5ZXI6OlZpZGVvRnVsbHNjcmVlbk1vZGUpOworCisgICAgdm9pZCB2aWRlb0Z1bGxzY3Jl
ZW5TdGFuZGJ5Q2hhbmdlZChNZWRpYVBsYXllclByaXZhdGVSZW1vdGVJZGVudGlmaWVyKTsKKwor
ICAgIHZvaWQgc2V0Vm9sdW1lKE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIsIGRv
dWJsZSk7CisgICAgdm9pZCBzZXRCdWZmZXJpbmdQb2xpY3koTWVkaWFQbGF5ZXJQcml2YXRlUmVt
b3RlSWRlbnRpZmllciwgV2ViQ29yZTo6TWVkaWFQbGF5ZXI6OkJ1ZmZlcmluZ1BvbGljeSk7CisK
KyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorICAgIHZvaWQgYWNjZXNzTG9nKE1lZGlhUGxheWVy
UHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoU3RyaW5nKT4m
Jik7CisgICAgdm9pZCBlcnJvckxvZyhNZWRpYVBsYXllclByaXZhdGVSZW1vdGVJZGVudGlmaWVy
LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFN0cmluZyk+JiYpOworI2VuZGlmCisKICAgICBIYXNo
TWFwPE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIsIHN0ZDo6dW5pcXVlX3B0cjxS
ZW1vdGVNZWRpYVBsYXllclByb3h5Pj4gbV9wcm94aWVzOwogICAgIEdQVUNvbm5lY3Rpb25Ub1dl
YlByb2Nlc3MmIG1fZ3B1Q29ubmVjdGlvblRvV2ViUHJvY2VzczsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5
Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlh
UGxheWVyTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IDY0ZjNjYmYyMGM1MmMzNjIwNmFh
ZWI5YzQ5OTdhNzJmNWJlNDBmODcuLjIwYjE4ZDMwYTk2NmZiNzk4ODc0ODcwNzgyNGViODFlMThi
MjlkMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVN
ZWRpYVBsYXllck1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4K
QEAgLTM0LDYgKzM0LDExIEBAIG1lc3NhZ2VzIC0+IFJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclBy
b3h5IE5vdFJlZkNvdW50ZWQgewogICAgIENsZWFyTWVkaWFDYWNoZShlbnVtOnVpbnQ4X3QgV2Vi
Q29yZTo6TWVkaWFQbGF5ZXJFbnVtczo6TWVkaWFFbmdpbmVJZGVudGlmaWVyIHJlbW90ZUVuZ2lu
ZUlkZW50aWZpZXIsIFN0cmluZyBwYXRoLCBXYWxsVGltZSBtb2RpZmllZFNpbmNlKQogICAgIENs
ZWFyTWVkaWFDYWNoZUZvck9yaWdpbnMoZW51bTp1aW50OF90IFdlYkNvcmU6Ok1lZGlhUGxheWVy
RW51bXM6Ok1lZGlhRW5naW5lSWRlbnRpZmllciByZW1vdGVFbmdpbmVJZGVudGlmaWVyLCBTdHJp
bmcgcGF0aCwgVmVjdG9yPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YT4gb3JpZ2lucykKICAg
ICBTdXBwb3J0c0tleVN5c3RlbShlbnVtOnVpbnQ4X3QgV2ViQ29yZTo6TWVkaWFQbGF5ZXJFbnVt
czo6TWVkaWFFbmdpbmVJZGVudGlmaWVyIHJlbW90ZUVuZ2luZUlkZW50aWZpZXIsIFN0cmluZyBr
ZXlTeXN0ZW0sIFN0cmluZyBtaW1lVHlwZSkgLT4gKGJvb2wgc3VwcG9ydHMpIFN5bmNocm9ub3Vz
CisKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorICAgIEFjY2Vzc0xvZyhXZWJLaXQ6Ok1lZGlh
UGxheWVyUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIgcGxheWVySWRlbnRpZmllcikgLT4gKFN0cmlu
ZyBhY2Nlc3NMb2cpIFN5bmNocm9ub3VzCisgICAgRXJyb3JMb2coV2ViS2l0OjpNZWRpYVBsYXll
clByaXZhdGVSZW1vdGVJZGVudGlmaWVyIHBsYXllcklkZW50aWZpZXIpIC0+IChTdHJpbmcgZXJy
b3JMb2cpIFN5bmNocm9ub3VzCisjZW5kaWYKIH0KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHAgYi9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHAK
aW5kZXggMzBlN2EwODVhNmU3MmY0ZjM1ZjMyYzExZmJlNGU3ZWMzMWIzYTVmNy4uZmQ3OGIyNWIz
YjAwNzBmNTczYTMyYzYxZGIzNGZkOTcwMjdhYjhiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcApAQCAt
MjQwLDYgKzI0MCwzOCBAQCB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OnJlbW92ZVJlc291
cmNlKFJlbW90ZU1lZGlhUmVzb3VyY2VJZGVudGlmaWVyIHJlbW90ZQogfQogCiAvLyBNZWRpYVBs
YXllckNsaWVudAordm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5Ojp1cGRhdGVWaWRlb0Z1bGxz
Y3JlZW5JbmxpbmVJbWFnZSgpCit7CisgICAgbV9wbGF5ZXItPnVwZGF0ZVZpZGVvRnVsbHNjcmVl
bklubGluZUltYWdlKCk7Cit9CisKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6c2V0Vmlk
ZW9GdWxsc2NyZWVuTW9kZShNZWRpYVBsYXllcjo6VmlkZW9GdWxsc2NyZWVuTW9kZSBtb2RlKQor
eworICAgIG1fcGxheWVyLT5zZXRWaWRlb0Z1bGxzY3JlZW5Nb2RlKG1vZGUpOworfQorCit2b2lk
IFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OnNldEJ1ZmZlcmluZ1BvbGljeShNZWRpYVBsYXllcjo6
QnVmZmVyaW5nUG9saWN5IHBvbGljeSkKK3sKKyAgICBtX3BsYXllci0+c2V0QnVmZmVyaW5nUG9s
aWN5KHBvbGljeSk7Cit9CisKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6dmlkZW9GdWxs
c2NyZWVuU3RhbmRieUNoYW5nZWQoKQoreworICAgIG1fcGxheWVyLT52aWRlb0Z1bGxzY3JlZW5T
dGFuZGJ5Q2hhbmdlZCgpOworfQorCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKK1N0cmluZyBS
ZW1vdGVNZWRpYVBsYXllclByb3h5OjphY2Nlc3NMb2coKQoreworICAgIHJldHVybiBtX3BsYXll
ci0+YWNjZXNzTG9nKCk7Cit9CisKK1N0cmluZyBSZW1vdGVNZWRpYVBsYXllclByb3h5OjplcnJv
ckxvZygpCit7CisgICAgcmV0dXJuIG1fcGxheWVyLT5lcnJvckxvZygpOworfQorI2VuZGlmCisK
IHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bWVkaWFQbGF5ZXJOZXR3b3JrU3RhdGVDaGFu
Z2VkKCkKIHsKICAgICB1cGRhdGVDYWNoZWRTdGF0ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuaCBiL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmgKaW5kZXggY2Fh
OTZhMzQyNjgzOWY4MTBkMTQyY2MyYTNmNzU3NjA4OTQxNjMwZS4uOTBhM2IzZDBkZTEyOTgwYzdk
NWFhZjg5NjcyZTMyM2EzNDJlZDFlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oCkBAIC03MCw2ICs3MCwxOCBA
QCBwdWJsaWM6CiAgICAgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlSWRlbnRpZmllciBpZGVuZGlm
aWVyKCkgY29uc3QgeyByZXR1cm4gbV9pZDsgfQogICAgIHZvaWQgaW52YWxpZGF0ZSgpOwogCisg
ICAgdm9pZCB1cGRhdGVWaWRlb0Z1bGxzY3JlZW5JbmxpbmVJbWFnZSgpOworICAgIHZvaWQgc2V0
VmlkZW9GdWxsc2NyZWVuTW9kZShXZWJDb3JlOjpNZWRpYVBsYXllcjo6VmlkZW9GdWxsc2NyZWVu
TW9kZSk7CisKKyAgICB2b2lkIHNldEJ1ZmZlcmluZ1BvbGljeShXZWJDb3JlOjpNZWRpYVBsYXll
cjo6QnVmZmVyaW5nUG9saWN5KTsKKworICAgIHZvaWQgdmlkZW9GdWxsc2NyZWVuU3RhbmRieUNo
YW5nZWQoKTsKKworI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAgU3RyaW5nIGFjY2Vzc0xv
ZygpOworICAgIFN0cmluZyBlcnJvckxvZygpOworI2VuZGlmCisKICAgICB2b2lkIGRpZFJlY2Vp
dmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpIGZpbmFsOwogCiAgICAg
dm9pZCBnZXRDb25maWd1cmF0aW9uKFJlbW90ZU1lZGlhUGxheWVyQ29uZmlndXJhdGlvbiYpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxh
eWVyUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVt
b3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5pbgppbmRleCAzOTYwNzA3ZTRiNDg4ZTg2YWQ1
NTdlNTRjZDY5YjA2YzYyNmMwZmNhLi42OTM3N2VlMTMyYjRlZTdmZDRhYmE1OGI0NDdhYzBiOGFm
NTc1OTcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
TWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5pbgpAQCAtNTMsNiArNTMs
MTIgQEAgbWVzc2FnZXMgLT4gUmVtb3RlTWVkaWFQbGF5ZXJQcm94eSBOb3RSZWZDb3VudGVkIHsK
ICAgICBTZXRTaG91bGREaXNhYmxlU2xlZXAoYm9vbCBkaXNhYmxlKQogICAgIFNldFJhdGUoZG91
YmxlIHJhdGUpCiAKKyAgICBVcGRhdGVWaWRlb0Z1bGxzY3JlZW5JbmxpbmVJbWFnZSgpCisgICAg
U2V0VmlkZW9GdWxsc2NyZWVuTW9kZShXZWJDb3JlOjpNZWRpYVBsYXllcjo6VmlkZW9GdWxsc2Ny
ZWVuTW9kZSBtb2RlKQorICAgIFZpZGVvRnVsbHNjcmVlblN0YW5kYnlDaGFuZ2VkKCkKKworICAg
IFNldEJ1ZmZlcmluZ1BvbGljeShXZWJDb3JlOjpNZWRpYVBsYXllcjo6QnVmZmVyaW5nUG9saWN5
IHBvbGljeSkKKwogICAgIEF1ZGlvVHJhY2tTZXRFbmFibGVkKFdlYktpdDo6VHJhY2tQcml2YXRl
UmVtb3RlSWRlbnRpZmllciB0cmFja0lELCBib29sIGVuYWJsZWQpCiAgICAgVmlkZW9UcmFja1Nl
dFNlbGVjdGVkKFdlYktpdDo6VHJhY2tQcml2YXRlUmVtb3RlSWRlbnRpZmllciB0cmFja0lELCBi
b29sIGVuYWJsZWQpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcAppbmRleCA0YWJjN2Jm
ODNjNWZlMTAzMWQ1NmEwYWRiYmVlODRiZGQwN2I1MDZiLi43MzY1ODRmMjZiMjIxNjJjYzYwNmFm
ZmRmMGJiNzZhMjcxNTEzYzM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
R1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwCkBAIC01
MDIsMTcgKzUwMiwxNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6c2V0VmlkZW9G
dWxsc2NyZWVuTGF5ZXIoUGxhdGZvcm1MYXllciosIFdURjo6RnVuYwogCiB2b2lkIE1lZGlhUGxh
eWVyUHJpdmF0ZVJlbW90ZTo6dXBkYXRlVmlkZW9GdWxsc2NyZWVuSW5saW5lSW1hZ2UoKQogewot
ICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OlJl
bW90ZU1lZGlhUGxheWVyUHJveHk6OlVwZGF0ZVZpZGVvRnVsbHNjcmVlbklubGluZUltYWdlKCks
IG1faWQpOwogfQogCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6c2V0VmlkZW9GdWxs
c2NyZWVuTW9kZShNZWRpYVBsYXllcjo6VmlkZW9GdWxsc2NyZWVuTW9kZSkKK3ZvaWQgTWVkaWFQ
bGF5ZXJQcml2YXRlUmVtb3RlOjpzZXRWaWRlb0Z1bGxzY3JlZW5Nb2RlKE1lZGlhUGxheWVyOjpW
aWRlb0Z1bGxzY3JlZW5Nb2RlIG1vZGUpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBj
b25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6U2V0Vmlk
ZW9GdWxsc2NyZWVuTW9kZShtb2RlKSwgbV9pZCk7CiB9CiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2
YXRlUmVtb3RlOjp2aWRlb0Z1bGxzY3JlZW5TdGFuZGJ5Q2hhbmdlZCgpCiB7Ci0gICAgbm90SW1w
bGVtZW50ZWQoKTsKKyAgICBjb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6UmVtb3RlTWVkaWFQ
bGF5ZXJQcm94eTo6VmlkZW9GdWxsc2NyZWVuU3RhbmRieUNoYW5nZWQoKSwgbV9pZCk7CiB9CiAj
ZW5kaWYKIApAQCAtNTI1LDIwICs1MjUsMjggQEAgTlNBcnJheSogTWVkaWFQbGF5ZXJQcml2YXRl
UmVtb3RlOjp0aW1lZE1ldGFkYXRhKCkgY29uc3QKIAogU3RyaW5nIE1lZGlhUGxheWVyUHJpdmF0
ZVJlbW90ZTo6YWNjZXNzTG9nKCkgY29uc3QKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAg
IHJldHVybiBlbXB0eVN0cmluZygpOworICAgIFN0cmluZyBsb2c7CisgICAgCisgICAgaWYgKCFj
b25uZWN0aW9uKCkuc2VuZFN5bmMoTWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclBy
b3h5OjpBY2Nlc3NMb2cobV9pZCksIE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQ
cm94eTo6QWNjZXNzTG9nOjpSZXBseShsb2cpLCBtX2lkKSkKKyAgICAgICAgcmV0dXJuIGVtcHR5
U3RyaW5nKCk7CisKKyAgICByZXR1cm4gbG9nOwogfQogCiBTdHJpbmcgTWVkaWFQbGF5ZXJQcml2
YXRlUmVtb3RlOjplcnJvckxvZygpIGNvbnN0CiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAg
ICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKKyAgICBTdHJpbmcgbG9nOworICAgIAorICAgIGlmICgh
Y29ubmVjdGlvbigpLnNlbmRTeW5jKE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQ
cm94eTo6RXJyb3JMb2cobV9pZCksIE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQ
cm94eTo6RXJyb3JMb2c6OlJlcGx5KGxvZyksIG1faWQpKQorICAgICAgICByZXR1cm4gZW1wdHlT
dHJpbmcoKTsKKworICAgIHJldHVybiBsb2c7CiB9CiAjZW5kaWYKIAotdm9pZCBNZWRpYVBsYXll
clByaXZhdGVSZW1vdGU6OnNldEJ1ZmZlcmluZ1BvbGljeShNZWRpYVBsYXllcjo6QnVmZmVyaW5n
UG9saWN5KQordm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnNldEJ1ZmZlcmluZ1BvbGlj
eShNZWRpYVBsYXllcjo6QnVmZmVyaW5nUG9saWN5IHBvbGljeSkKIHsKLSAgICBub3RJbXBsZW1l
bnRlZCgpOworICAgIGNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVBsYXll
clByb3h5OjpTZXRCdWZmZXJpbmdQb2xpY3kocG9saWN5KSwgbV9pZCk7CiB9CiAKIGJvb2wgTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpjYW5TYXZlTWVkaWFEYXRhKCkgY29uc3QK
</data>

          </attachment>
      

    </bug>

</bugzilla>