<?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>171434</bug_id>
          
          <creation_ts>2017-04-28 10:00:07 -0700</creation_ts>
          <short_desc>[macOS] WebPlaybackControlsManager needs to know when the selected text or audio track changes</short_desc>
          <delta_ts>2017-04-28 14:44:21 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</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="Andy Estes">aestes</reporter>
          <assigned_to name="Andy Estes">aestes</assigned_to>
          <cc>achristensen</cc>
    
    <cc>andersca</cc>
    
    <cc>bdakin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>jer.noble</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1302626</commentid>
    <comment_count>0</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2017-04-28 10:00:07 -0700</bug_when>
    <thetext>[macOS] WebPlaybackControlsManager needs to know when the selected text or audio track changes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1302627</commentid>
    <comment_count>1</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2017-04-28 10:02:22 -0700</bug_when>
    <thetext>rdar://problem/31887922</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1302633</commentid>
    <comment_count>2</comment_count>
      <attachid>308546</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2017-04-28 10:14:10 -0700</bug_when>
    <thetext>Created attachment 308546
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1302685</commentid>
    <comment_count>3</comment_count>
      <attachid>308546</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2017-04-28 11:34:29 -0700</bug_when>
    <thetext>Comment on attachment 308546
Patch

Taking a different approach after talking to Jer and Eric.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1302725</commentid>
    <comment_count>4</comment_count>
      <attachid>308578</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2017-04-28 12:55:22 -0700</bug_when>
    <thetext>Created attachment 308578
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1302734</commentid>
    <comment_count>5</comment_count>
      <attachid>308578</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2017-04-28 13:03:47 -0700</bug_when>
    <thetext>Comment on attachment 308578
Patch

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

&gt; Source/WebCore/platform/cocoa/WebPlaybackSessionModelMediaElement.mm:451
&gt; +    if (offItem &amp;&amp; !trackMenuItemSelected &amp;&amp; displayMode == MediaControlsHost::forcedOnlyKeyword())

Nice catch!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1302801</commentid>
    <comment_count>6</comment_count>
      <attachid>308578</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-04-28 14:44:19 -0700</bug_when>
    <thetext>Comment on attachment 308578
Patch

Clearing flags on attachment: 308578

Committed r215948: &lt;http://trac.webkit.org/changeset/215948&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1302802</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-04-28 14:44:21 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>308546</attachid>
            <date>2017-04-28 10:14:10 -0700</date>
            <delta_ts>2017-04-28 12:55:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-171434-20170428101409.patch</filename>
            <type>text/plain</type>
            <size>23557</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE1ODcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODM0NjY2MDczZmIzMjk4
N2QyMWRkZDE5MmE5NGMzNDYxZDVlM2RjNS4uYjU0ZmUxODg5OGVlZDViN2Y5ZGUwNjIwOTZiM2Yy
YzBmYWEzNDdiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE3LTA0LTI4ICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIFdlYlBsYXliYWNr
Q29udHJvbHNNYW5hZ2VyIG5lZWRzIHRvIGtub3cgd2hlbiB0aGUgc2VsZWN0ZWQgdGV4dCBvciBh
dWRpbyB0cmFjayBjaGFuZ2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNzE0MzQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMxODg3OTIyPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaHRtbC9IVE1M
TWVkaWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmF1
ZGlvVHJhY2tFbmFibGVkQ2hhbmdlZCk6IENhbGxlZAorICAgICAgICBDaHJvbWVDbGllbnQ6OmRp
ZENoYW5nZUVuYWJsZWRBdWRpb1RyYWNrcygpLgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlh
RWxlbWVudDo6c2V0U2VsZWN0ZWRUZXh0VHJhY2spOiBDYWxsZWQKKyAgICAgICAgQ2hyb21lQ2xp
ZW50OjpkaWRDaGFuZ2VFbmFibGVkVGV4dFRyYWNrcygpLgorICAgICAgICAqIHBhZ2UvQ2hyb21l
Q2xpZW50Lmg6CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTW9k
ZWwuaDoKKyAgICAgICAgKFdlYkNvcmU6OldlYlBsYXliYWNrU2Vzc2lvbk1vZGVsQ2xpZW50Ojph
dWRpb01lZGlhU2VsZWN0aW9uSW5kZXhDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6OldlYlBs
YXliYWNrU2Vzc2lvbk1vZGVsQ2xpZW50OjpsZWdpYmxlTWVkaWFTZWxlY3Rpb25JbmRleENoYW5n
ZWQpOgorICAgICAgICAqIHBsYXRmb3JtL2NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1vZGVsTWVk
aWFFbGVtZW50Lmg6CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvV2ViUGxheWJhY2tTZXNzaW9u
TW9kZWxNZWRpYUVsZW1lbnQubW06CisgICAgICAgIChXZWJDb3JlOjpXZWJQbGF5YmFja1Nlc3Np
b25Nb2RlbE1lZGlhRWxlbWVudDo6bGVnaWJsZU1lZGlhU2VsZWN0ZWRJbmRleCk6IEZpeGVkIGEg
YnVnCisgICAgICAgIHdoZXJlIHNlbGVjdGVkSW5kZXggd291bGQgbmV2ZXIgYmUgc2V0IHRvIG9m
ZkluZGV4IGlmIG9mZkluZGV4IGlzIDAgKHdoaWNoIGl0IHVzdWFsbHkgaXMpLgorICAgICAgICAq
IHBsYXRmb3JtL21hYy9XZWJQbGF5YmFja0NvbnRyb2xzTWFuYWdlci5oOgorICAgICAgICAqIHBs
YXRmb3JtL21hYy9XZWJQbGF5YmFja0NvbnRyb2xzTWFuYWdlci5tbToKKyAgICAgICAgKC1bV2Vi
UGxheWJhY2tDb250cm9sc01hbmFnZXIgc2V0QXVkaW9NZWRpYVNlbGVjdGlvbkluZGV4Ol0pOiBT
ZXQKKyAgICAgICAgX2N1cnJlbnRBdWRpb1RvdWNoQmFyTWVkaWFTZWxlY3Rpb25PcHRpb24gdG8g
dGhlIG9iamVjdCBhdCBzZWxlY3RlZEluZGV4IGFuZCBtYW51YWxseQorICAgICAgICB0cmlnZ2Vy
ZWQgYSBLVk8gbm90aWZpY2F0aW9uLiBXZSBjYW4ndCBjYWxsIC1zZXRDdXJyZW50QXVkaW9Ub3Vj
aEJhck1lZGlhU2VsZWN0aW9uT3B0aW9uOgorICAgICAgICBoZXJlIHNpbmNlIHRoYXQgd2lsbCBz
ZW5kIGEgbWVzc2FnZSBiYWNrIHRvIHRoZSBXZWIgcHJvY2Vzcy4KKyAgICAgICAgKC1bV2ViUGxh
eWJhY2tDb250cm9sc01hbmFnZXIgc2V0TGVnaWJsZU1lZGlhU2VsZWN0aW9uSW5kZXg6XSk6IERp
dHRvIGZvcgorICAgICAgICBfY3VycmVudExlZ2libGVUb3VjaEJhck1lZGlhU2VsZWN0aW9uT3B0
aW9uLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9XZWJQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VN
YWMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvV2ViUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNl
TWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6V2ViUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFj
OjphdWRpb01lZGlhU2VsZWN0aW9uSW5kZXhDaGFuZ2VkKTogQ2FsbGVkCisgICAgICAgIC1bV2Vi
UGxheWJhY2tDb250cm9sc01hbmFnZXIgc2V0QXVkaW9NZWRpYVNlbGVjdGlvbkluZGV4Ol0uCisg
ICAgICAgIChXZWJDb3JlOjpXZWJQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWM6OmxlZ2libGVN
ZWRpYVNlbGVjdGlvbkluZGV4Q2hhbmdlZCk6IENhbGxlZAorICAgICAgICAtW1dlYlBsYXliYWNr
Q29udHJvbHNNYW5hZ2VyIHNldExlZ2libGVNZWRpYVNlbGVjdGlvbkluZGV4Ol0uCisKIDIwMTct
MDQtMjcgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCB0aGUg
bWFjT1MgYnVpbGQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZDQyNDUyZGRlMzljZjk5MzRlMmQ3MDNjMWUzNTQ5
ODU4MjYyMDdkYS4uYmJkMjYxMWIxOGM0NWQ4MDc2ZjdiZTBhMDk1NjgwZjQyYzgwNTI0MiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDE3LTA0LTI4ICBBbmR5IEVzdGVzICA8YWVzdGVz
QGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIFdlYlBsYXliYWNrQ29udHJvbHNNYW5hZ2Vy
IG5lZWRzIHRvIGtub3cgd2hlbiB0aGUgc2VsZWN0ZWQgdGV4dCBvciBhdWRpbyB0cmFjayBjaGFu
Z2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzE0
MzQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMxODg3OTIyPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlBsYXli
YWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQ
bGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogVUlQcm9j
ZXNzL0NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5tbToKKyAgICAgICAgKFdl
YktpdDo6V2ViUGxheWJhY2tTZXNzaW9uTW9kZWxDb250ZXh0OjpzZXRBdWRpb01lZGlhU2VsZWN0
aW9uSW5kZXgpOiBTZXQKKyAgICAgICAgbV9hdWRpb01lZGlhU2VsZWN0ZWRJbmRleCBhbmQgbm90
aWZpZWQgY2xpZW50cy4KKyAgICAgICAgKFdlYktpdDo6V2ViUGxheWJhY2tTZXNzaW9uTW9kZWxD
b250ZXh0OjpzZXRMZWdpYmxlTWVkaWFTZWxlY3Rpb25JbmRleCk6IERpdHRvIGZvcgorICAgICAg
ICBtX2xlZ2libGVNZWRpYVNlbGVjdGVkSW5kZXguCisgICAgICAgIChXZWJLaXQ6OldlYlBsYXli
YWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6c2V0QXVkaW9NZWRpYVNlbGVjdGlvbkluZGV4KTogQ2Fs
bGVkCisgICAgICAgIFdlYlBsYXliYWNrU2Vzc2lvbk1vZGVsQ29udGV4dDo6c2V0QXVkaW9NZWRp
YVNlbGVjdGlvbkluZGV4KCkuCisgICAgICAgIChXZWJLaXQ6OldlYlBsYXliYWNrU2Vzc2lvbk1h
bmFnZXJQcm94eTo6c2V0TGVnaWJsZU1lZGlhU2VsZWN0aW9uSW5kZXgpOiBDYWxsZWQKKyAgICAg
ICAgV2ViUGxheWJhY2tTZXNzaW9uTW9kZWxDb250ZXh0OjpzZXRMZWdpYmxlTWVkaWFTZWxlY3Rp
b25JbmRleCgpLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ2hyb21lQ2xpZW50OjpkaWRDaGFuZ2VF
bmFibGVkVGV4dFRyYWNrcyk6IENhbGxlZAorICAgICAgICBXZWJQbGF5YmFja1Nlc3Npb25NYW5h
Z2VyOjplbmFibGVkVGV4dFRyYWNrc0NoYW5nZWQoKS4KKyAgICAgICAgKFdlYktpdDo6V2ViQ2hy
b21lQ2xpZW50OjpkaWRDaGFuZ2VFbmFibGVkQXVkaW9UcmFja3MpOiBDYWxsZWQKKyAgICAgICAg
V2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlcjo6ZW5hYmxlZEF1ZGlvVHJhY2tzQ2hhbmdlZCgpLgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9XZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyLmg6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9XZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyLm1tOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyOjplbmFibGVkVGV4dFRy
YWNrc0NoYW5nZWQpOiBHb3QgdGhlIGNvbnRleHRJZCBmb3IgdGhlCisgICAgICAgIG1lZGlhIGVs
ZW1lbnQsIGdvdCB0aGUgbGVnaWJsZSBtZWRpYSBzZWxlY3RlZCBpbmRleCBmcm9tIHRoZSBXZWJQ
bGF5YmFja1Nlc3Npb25Nb2RlbCBmb3IKKyAgICAgICAgdGhpcyBjb250ZXh0IGlkLCBhbmQgc2Vu
dCBXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OlNldExlZ2libGVNZWRpYVNlbGVjdGlv
bkluZGV4KCkKKyAgICAgICAgd2l0aCB0aGUgY29udGV4dCBpZCBhbmQgc2VsZWN0ZWQgaW5kZXgu
CisgICAgICAgIChXZWJLaXQ6OldlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXI6OmVuYWJsZWRBdWRp
b1RyYWNrc0NoYW5nZWQpOiBEaXR0byBmb3IgdGhlIGF1ZGlvIG1lZGlhCisgICAgICAgIHNlbGVj
dGVkIGluZGV4LgorCiAyMDE3LTA0LTI3ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFA
aWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBSZW1vdGUgaW5zcGVjdG9yIHNob3VsZCBzdXBw
b3J0IGluc3BlY3RpbmcgdGFyZ2V0cyB3aXRoIHByZXZpb3VzIHZlcnNpb24gb2YgYmFja2VuZCBj
b21tYW5kcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggYThm
YjIwNmE2ZTVjZmI5NmQ2NjIyMjEzMzFkM2IwYjY3OWFjNGZlYy4uOWZjYjY3NDdmMWQwMzc2NDlk
N2UxMmRkYTBiZTVmNzkyNzE2ZGY2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVs
ZW1lbnQuY3BwCkBAIC0xODc3LDggKzE4NzcsMTEgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp0
ZXh0VHJhY2tSZWFkeVN0YXRlQ2hhbmdlZChUZXh0VHJhY2sqIHRyYWNrKQogCiB2b2lkIEhUTUxN
ZWRpYUVsZW1lbnQ6OmF1ZGlvVHJhY2tFbmFibGVkQ2hhbmdlZChBdWRpb1RyYWNrJiB0cmFjaykK
IHsKLSAgICBpZiAobV9hdWRpb1RyYWNrcyAmJiBtX2F1ZGlvVHJhY2tzLT5jb250YWlucyh0cmFj
aykpCisgICAgaWYgKG1fYXVkaW9UcmFja3MgJiYgbV9hdWRpb1RyYWNrcy0+Y29udGFpbnModHJh
Y2spKSB7CiAgICAgICAgIG1fYXVkaW9UcmFja3MtPnNjaGVkdWxlQ2hhbmdlRXZlbnQoKTsKKyAg
ICAgICAgaWYgKGF1dG8qIHBhZ2UgPSBkb2N1bWVudCgpLnBhZ2UoKSkKKyAgICAgICAgICAgIHBh
Z2UtPmNocm9tZSgpLmNsaWVudCgpLmRpZENoYW5nZUVuYWJsZWRBdWRpb1RyYWNrcygqdGhpcyk7
CisgICAgfQogICAgIGlmIChTY3JpcHRDb250cm9sbGVyOjpwcm9jZXNzaW5nVXNlckdlc3R1cmVG
b3JNZWRpYSgpKQogICAgICAgICByZW1vdmVCZWhhdmlvcnNSZXN0cmljdGlvbnNBZnRlckZpcnN0
VXNlckdlc3R1cmUoTWVkaWFFbGVtZW50U2Vzc2lvbjo6QWxsUmVzdHJpY3Rpb25zICYgfk1lZGlh
RWxlbWVudFNlc3Npb246OlJlcXVpcmVVc2VyR2VzdHVyZVRvQ29udHJvbENvbnRyb2xzTWFuYWdl
cik7CiB9CkBAIC00MTMyLDYgKzQxMzUsOCBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNldFNl
bGVjdGVkVGV4dFRyYWNrKFRleHRUcmFjayogdHJhY2tUb1NlbGVjdCkKICAgICB9CiAKICAgICBj
YXB0aW9uUHJlZmVyZW5jZXMuc2V0Q2FwdGlvbkRpc3BsYXlNb2RlKGRpc3BsYXlNb2RlKTsKKwor
ICAgIGRvY3VtZW50KCkucGFnZSgpLT5jaHJvbWUoKS5jbGllbnQoKS5kaWRDaGFuZ2VFbmFibGVk
VGV4dFRyYWNrcygqdGhpcyk7CiB9CiAKIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6Y29uZmlndXJl
VGV4dFRyYWNrcygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAppbmRleCA5MGFhMDkwYjA4
NTVlMWQxNDgwMjQwOWE0NGE5NjBmMjk2OTY1ZWJmLi45MWIwN2U0OGFhZjFmNTk1Y2E4MjZmOTMx
MTAyYjg2NTQ2NzY3MWU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNs
aWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKQEAgLTQ3MCw2
ICs0NzAsMTEgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZUNsaXBUb1Nh
ZmVBcmVhKGJvb2wpIHsgfQogCisjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQorICAgIHZpcnR1YWwg
dm9pZCBkaWRDaGFuZ2VFbmFibGVkVGV4dFRyYWNrcyhIVE1MTWVkaWFFbGVtZW50JikgeyB9Cisg
ICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZUVuYWJsZWRBdWRpb1RyYWNrcyhIVE1MTWVkaWFFbGVt
ZW50JikgeyB9CisjZW5kaWYKKwogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgfkNocm9tZUNsaWVu
dCgpIHsgfQogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1dl
YlBsYXliYWNrU2Vzc2lvbk1vZGVsLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9X
ZWJQbGF5YmFja1Nlc3Npb25Nb2RlbC5oCmluZGV4IDNkZjI1OGYzZjc5ZWQyYTI0OThjNTFlYTIz
MjI5ZmIwZDgyZDY3NGUuLjc4ODc0MzBkYWI5ZjllNjA0NmYzOTYzODRhZDY4ZjRmNGFlNTQ4MjUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1dlYlBsYXliYWNrU2Vz
c2lvbk1vZGVsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvV2ViUGxheWJh
Y2tTZXNzaW9uTW9kZWwuaApAQCAtOTAsNiArOTAsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2
b2lkIGNhblBsYXlGYXN0UmV2ZXJzZUNoYW5nZWQoYm9vbCkgeyB9CiAgICAgdmlydHVhbCB2b2lk
IGF1ZGlvTWVkaWFTZWxlY3Rpb25PcHRpb25zQ2hhbmdlZChjb25zdCBWZWN0b3I8TWVkaWFTZWxl
Y3Rpb25PcHRpb24+JiAvKiBvcHRpb25zICovLCB1aW50NjRfdCAvKiBzZWxlY3RlZEluZGV4ICov
KSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgbGVnaWJsZU1lZGlhU2VsZWN0aW9uT3B0aW9uc0NoYW5n
ZWQoY29uc3QgVmVjdG9yPE1lZGlhU2VsZWN0aW9uT3B0aW9uPiYgLyogb3B0aW9ucyAqLywgdWlu
dDY0X3QgLyogc2VsZWN0ZWRJbmRleCAqLykgeyB9CisgICAgdmlydHVhbCB2b2lkIGF1ZGlvTWVk
aWFTZWxlY3Rpb25JbmRleENoYW5nZWQodWludDY0X3QpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBs
ZWdpYmxlTWVkaWFTZWxlY3Rpb25JbmRleENoYW5nZWQodWludDY0X3QpIHsgfQogICAgIHZpcnR1
YWwgdm9pZCBleHRlcm5hbFBsYXliYWNrQ2hhbmdlZChib29sIC8qIGVuYWJsZWQgKi8sIFdlYlBs
YXliYWNrU2Vzc2lvbk1vZGVsOjpFeHRlcm5hbFBsYXliYWNrVGFyZ2V0VHlwZSwgY29uc3QgU3Ry
aW5nJiAvKiBsb2NhbGl6ZWREZXZpY2VOYW1lICovKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgd2ly
ZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWRDaGFuZ2VkKGJvb2wpIHsgfQogfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1vZGVs
TWVkaWFFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9XZWJQbGF5YmFj
a1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudC5oCmluZGV4IGZiMjU3OWNhZjFmNzQwZDBjMzlhMTZl
Y2M0YjIzNTg5MTU4MDgwMDkuLmNjYzA3NjMyNGY5YzE5NzM2OWJmMzBmMDFmMDU1OTUyZGJlYjVm
NDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1dlYlBsYXliYWNr
U2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Y29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQuaApAQCAtODAsOSArODAs
OSBAQCBwdWJsaWM6CiAgICAgUmVmPFRpbWVSYW5nZXM+IHNlZWthYmxlUmFuZ2VzKCkgY29uc3Qg
ZmluYWw7CiAgICAgYm9vbCBjYW5QbGF5RmFzdFJldmVyc2UoKSBjb25zdCBmaW5hbDsKICAgICBW
ZWN0b3I8TWVkaWFTZWxlY3Rpb25PcHRpb24+IGF1ZGlvTWVkaWFTZWxlY3Rpb25PcHRpb25zKCkg
Y29uc3QgZmluYWw7Ci0gICAgdWludDY0X3QgYXVkaW9NZWRpYVNlbGVjdGVkSW5kZXgoKSBjb25z
dCBmaW5hbDsKKyAgICBXRUJDT1JFX0VYUE9SVCB1aW50NjRfdCBhdWRpb01lZGlhU2VsZWN0ZWRJ
bmRleCgpIGNvbnN0IGZpbmFsOwogICAgIFZlY3RvcjxNZWRpYVNlbGVjdGlvbk9wdGlvbj4gbGVn
aWJsZU1lZGlhU2VsZWN0aW9uT3B0aW9ucygpIGNvbnN0IGZpbmFsOwotICAgIHVpbnQ2NF90IGxl
Z2libGVNZWRpYVNlbGVjdGVkSW5kZXgoKSBjb25zdCBmaW5hbDsKKyAgICBXRUJDT1JFX0VYUE9S
VCB1aW50NjRfdCBsZWdpYmxlTWVkaWFTZWxlY3RlZEluZGV4KCkgY29uc3QgZmluYWw7CiAgICAg
Ym9vbCBleHRlcm5hbFBsYXliYWNrRW5hYmxlZCgpIGNvbnN0IGZpbmFsOwogICAgIEV4dGVybmFs
UGxheWJhY2tUYXJnZXRUeXBlIGV4dGVybmFsUGxheWJhY2tUYXJnZXRUeXBlKCkgY29uc3QgZmlu
YWw7CiAgICAgU3RyaW5nIGV4dGVybmFsUGxheWJhY2tMb2NhbGl6ZWREZXZpY2VOYW1lKCkgY29u
c3QgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9XZWJQ
bGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50Lm1tCmluZGV4IGMw
ZDA1MjFjYTQ5MGQ0MmI1ODFjYjJiMmUxNWViMDA0YTVjMTM3OGYuLjY2ZDY5MGIxOTRhNTEwMWJm
ODkxZmExNjJjMWIxMjJiNmVmOWJlYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50Lm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFF
bGVtZW50Lm1tCkBAIC00MjgsNyArNDI4LDcgQEAgdWludDY0X3QgV2ViUGxheWJhY2tTZXNzaW9u
TW9kZWxNZWRpYUVsZW1lbnQ6OmxlZ2libGVNZWRpYVNlbGVjdGVkSW5kZXgoKSBjb25zdAogICAg
ICAgICB9CiAgICAgfQogCi0gICAgaWYgKG9mZkluZGV4ICYmICF0cmFja01lbnVJdGVtU2VsZWN0
ZWQgJiYgZGlzcGxheU1vZGUgPT0gTWVkaWFDb250cm9sc0hvc3Q6OmZvcmNlZE9ubHlLZXl3b3Jk
KCkpCisgICAgaWYgKG9mZkl0ZW0gJiYgIXRyYWNrTWVudUl0ZW1TZWxlY3RlZCAmJiBkaXNwbGF5
TW9kZSA9PSBNZWRpYUNvbnRyb2xzSG9zdDo6Zm9yY2VkT25seUtleXdvcmQoKSkKICAgICAgICAg
c2VsZWN0ZWRJbmRleCA9IG9mZkluZGV4OwogCiAgICAgcmV0dXJuIHNlbGVjdGVkSW5kZXg7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViUGxheWJhY2tDb250cm9s
c01hbmFnZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJQbGF5YmFja0NvbnRy
b2xzTWFuYWdlci5oCmluZGV4IDJkMWEyMmI5ZDgzZjU2Y2NmMDhiZDBmZGY5ZmE0ZGU4YWI4OTI1
MzAuLjI5NWYwOTU2MWE4ZTUzMzJhNzc3ZjU2ZjQ1MGRjODI3MjUzNzFjNGEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJQbGF5YmFja0NvbnRyb2xzTWFuYWdlci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJQbGF5YmFja0NvbnRyb2xzTWFu
YWdlci5oCkBAIC03NCw2ICs3NCw4IEBAIFdFQkNPUkVfRVhQT1JUCiAtICh2b2lkKXNldEN1cnJl
bnRMZWdpYmxlVG91Y2hCYXJNZWRpYVNlbGVjdGlvbk9wdGlvbjooQVZUb3VjaEJhck1lZGlhU2Vs
ZWN0aW9uT3B0aW9uICopb3B0aW9uOwogLSAodm9pZClzZXRBdWRpb01lZGlhU2VsZWN0aW9uT3B0
aW9uczooY29uc3QgVmVjdG9yPFdlYkNvcmU6Ok1lZGlhU2VsZWN0aW9uT3B0aW9uPiYpb3B0aW9u
cyB3aXRoU2VsZWN0ZWRJbmRleDooTlNVSW50ZWdlcilzZWxlY3RlZEluZGV4OwogLSAodm9pZClz
ZXRMZWdpYmxlTWVkaWFTZWxlY3Rpb25PcHRpb25zOihjb25zdCBWZWN0b3I8V2ViQ29yZTo6TWVk
aWFTZWxlY3Rpb25PcHRpb24+JilvcHRpb25zIHdpdGhTZWxlY3RlZEluZGV4OihOU1VJbnRlZ2Vy
KXNlbGVjdGVkSW5kZXg7CistICh2b2lkKXNldEF1ZGlvTWVkaWFTZWxlY3Rpb25JbmRleDooTlNV
SW50ZWdlcilzZWxlY3RlZEluZGV4OworLSAodm9pZClzZXRMZWdpYmxlTWVkaWFTZWxlY3Rpb25J
bmRleDooTlNVSW50ZWdlcilzZWxlY3RlZEluZGV4OwogQGVuZAogCiAjZW5kaWYgLy8gRU5BQkxF
KFdFQl9QTEFZQkFDS19DT05UUk9MU19NQU5BR0VSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWFjL1dlYlBsYXliYWNrQ29udHJvbHNNYW5hZ2VyLm1tIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWFjL1dlYlBsYXliYWNrQ29udHJvbHNNYW5hZ2VyLm1tCmluZGV4IDE5
ZmVjY2MyOGI0YzY0ZjkxMTk3MTdkOGFlNTdiNTk0ODM1ODY5Y2IuLjA4MWRmYWY2NjA4NmU3ZGY1
YjM1MjM4Yjg4MjcwYWU5NmUyNThhNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21hYy9XZWJQbGF5YmFja0NvbnRyb2xzTWFuYWdlci5tbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tYWMvV2ViUGxheWJhY2tDb250cm9sc01hbmFnZXIubW0KQEAgLTI3MCw2ICsy
NzAsMjYgQEAgLSAodm9pZClzZXRMZWdpYmxlTWVkaWFTZWxlY3Rpb25PcHRpb25zOihjb25zdCBW
ZWN0b3I8TWVkaWFTZWxlY3Rpb25PcHRpb24+JilvcHQKICAgICAgICAgW3NlbGYgc2V0Q3VycmVu
dExlZ2libGVUb3VjaEJhck1lZGlhU2VsZWN0aW9uT3B0aW9uOlt3ZWJPcHRpb25zIG9iamVjdEF0
SW5kZXg6c2VsZWN0ZWRJbmRleF1dOwogfQogCistICh2b2lkKXNldEF1ZGlvTWVkaWFTZWxlY3Rp
b25JbmRleDooTlNVSW50ZWdlcilzZWxlY3RlZEluZGV4Cit7CisgICAgaWYgKHNlbGVjdGVkSW5k
ZXggPj0gW19hdWRpb1RvdWNoQmFyTWVkaWFTZWxlY3Rpb25PcHRpb25zIGNvdW50XSkKKyAgICAg
ICAgcmV0dXJuOworCisgICAgW3NlbGYgd2lsbENoYW5nZVZhbHVlRm9yS2V5OkAiY3VycmVudEF1
ZGlvVG91Y2hCYXJNZWRpYVNlbGVjdGlvbk9wdGlvbiJdOworICAgIF9jdXJyZW50QXVkaW9Ub3Vj
aEJhck1lZGlhU2VsZWN0aW9uT3B0aW9uID0gW19hdWRpb1RvdWNoQmFyTWVkaWFTZWxlY3Rpb25P
cHRpb25zIG9iamVjdEF0SW5kZXg6c2VsZWN0ZWRJbmRleF07CisgICAgW3NlbGYgZGlkQ2hhbmdl
VmFsdWVGb3JLZXk6QCJjdXJyZW50QXVkaW9Ub3VjaEJhck1lZGlhU2VsZWN0aW9uT3B0aW9uIl07
Cit9CisKKy0gKHZvaWQpc2V0TGVnaWJsZU1lZGlhU2VsZWN0aW9uSW5kZXg6KE5TVUludGVnZXIp
c2VsZWN0ZWRJbmRleAoreworICAgIGlmIChzZWxlY3RlZEluZGV4ID49IFtfbGVnaWJsZVRvdWNo
QmFyTWVkaWFTZWxlY3Rpb25PcHRpb25zIGNvdW50XSkKKyAgICAgICAgcmV0dXJuOworCisgICAg
W3NlbGYgd2lsbENoYW5nZVZhbHVlRm9yS2V5OkAiY3VycmVudExlZ2libGVUb3VjaEJhck1lZGlh
U2VsZWN0aW9uT3B0aW9uIl07CisgICAgX2N1cnJlbnRMZWdpYmxlVG91Y2hCYXJNZWRpYVNlbGVj
dGlvbk9wdGlvbiA9IFtfbGVnaWJsZVRvdWNoQmFyTWVkaWFTZWxlY3Rpb25PcHRpb25zIG9iamVj
dEF0SW5kZXg6c2VsZWN0ZWRJbmRleF07CisgICAgW3NlbGYgZGlkQ2hhbmdlVmFsdWVGb3JLZXk6
QCJjdXJyZW50TGVnaWJsZVRvdWNoQmFyTWVkaWFTZWxlY3Rpb25PcHRpb24iXTsKK30KKwogLSAo
V2ViUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjKil3ZWJQbGF5YmFja1Nlc3Npb25JbnRlcmZh
Y2VNYWMKIHsKICAgICByZXR1cm4gX3dlYlBsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYy5nZXQo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJQbGF5YmFja1Nl
c3Npb25JbnRlcmZhY2VNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJQbGF5
YmFja1Nlc3Npb25JbnRlcmZhY2VNYWMuaAppbmRleCA1YjBhOWRjNjY4ZDEzZmIxMmU1OTQyYzRm
Zjg3NDhiNTY3YWNiNmNlLi5lNzFkYmNhYTk4NzQ3ZGFjNjY1MTM0ZDM5ZmVmMWNmYTE0YmYzYmFm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViUGxheWJhY2tTZXNz
aW9uSW50ZXJmYWNlTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYlBs
YXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYy5oCkBAIC01OSw2ICs1OSw4IEBAIHB1YmxpYzoKICAg
ICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNlZWthYmxlUmFuZ2VzQ2hhbmdlZChjb25zdCBUaW1lUmFu
Z2VzJikgZmluYWw7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBhdWRpb01lZGlhU2VsZWN0aW9u
T3B0aW9uc0NoYW5nZWQoY29uc3QgVmVjdG9yPE1lZGlhU2VsZWN0aW9uT3B0aW9uPiYgLypvcHRp
b25zKi8sIHVpbnQ2NF90IC8qc2VsZWN0ZWRJbmRleCovKSBmaW5hbDsKICAgICBXRUJDT1JFX0VY
UE9SVCB2b2lkIGxlZ2libGVNZWRpYVNlbGVjdGlvbk9wdGlvbnNDaGFuZ2VkKGNvbnN0IFZlY3Rv
cjxNZWRpYVNlbGVjdGlvbk9wdGlvbj4mIC8qb3B0aW9ucyovLCB1aW50NjRfdCAvKnNlbGVjdGVk
SW5kZXgqLykgZmluYWw7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBhdWRpb01lZGlhU2VsZWN0
aW9uSW5kZXhDaGFuZ2VkKHVpbnQ2NF90KSBmaW5hbDsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lk
IGxlZ2libGVNZWRpYVNlbGVjdGlvbkluZGV4Q2hhbmdlZCh1aW50NjRfdCkgZmluYWw7CiAgICAg
V0VCQ09SRV9FWFBPUlQgdm9pZCBpbnZhbGlkYXRlKCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9p
ZCBlbnN1cmVDb250cm9sc01hbmFnZXIoKTsKICNpZiBFTkFCTEUoV0VCX1BMQVlCQUNLX0NPTlRS
T0xTX01BTkFHRVIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2Vi
UGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL1dlYlBsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYy5tbQppbmRleCA1NzE5NzY3MjJhMzIx
YWJhZWI3YzEyNWI4MzRiYzI2ZGFiMDhhOWI3Li5mZTFmNTJmMDQ2MzNhYjg2NmFmYWE0OWFjMGRl
MWNhMTRlZTI4NjA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2Vi
UGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21hYy9XZWJQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWMubW0KQEAgLTE1OSw2ICsxNTks
MjQgQEAgdm9pZCBXZWJQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWM6OmxlZ2libGVNZWRpYVNl
bGVjdGlvbk9wdGlvbnNDaGFuZ2VkKGNvbnN0IFYKICNlbmRpZgogfQogCit2b2lkIFdlYlBsYXli
YWNrU2Vzc2lvbkludGVyZmFjZU1hYzo6YXVkaW9NZWRpYVNlbGVjdGlvbkluZGV4Q2hhbmdlZCh1
aW50NjRfdCBzZWxlY3RlZEluZGV4KQoreworI2lmIEVOQUJMRShXRUJfUExBWUJBQ0tfQ09OVFJP
TFNfTUFOQUdFUikKKyAgICBbcGxheUJhY2tDb250cm9sc01hbmFnZXIoKSBzZXRBdWRpb01lZGlh
U2VsZWN0aW9uSW5kZXg6c2VsZWN0ZWRJbmRleF07CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShz
ZWxlY3RlZEluZGV4KTsKKyNlbmRpZgorfQorCit2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbkludGVy
ZmFjZU1hYzo6bGVnaWJsZU1lZGlhU2VsZWN0aW9uSW5kZXhDaGFuZ2VkKHVpbnQ2NF90IHNlbGVj
dGVkSW5kZXgpCit7CisjaWYgRU5BQkxFKFdFQl9QTEFZQkFDS19DT05UUk9MU19NQU5BR0VSKQor
ICAgIFtwbGF5QmFja0NvbnRyb2xzTWFuYWdlcigpIHNldExlZ2libGVNZWRpYVNlbGVjdGlvbklu
ZGV4OnNlbGVjdGVkSW5kZXhdOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oc2VsZWN0ZWRJbmRl
eCk7CisjZW5kaWYKK30KKwogdm9pZCBXZWJQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWM6Omlu
dmFsaWRhdGUoKQogewogICAgIGlmICghbV9wbGF5YmFja1Nlc3Npb25Nb2RlbCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9XZWJQbGF5YmFja1Nlc3Npb25NYW5h
Z2VyUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9XZWJQbGF5YmFja1Nl
c3Npb25NYW5hZ2VyUHJveHkuaAppbmRleCA5ZjU3ZDU4MzFjOWY4MDBhMDZhMzg3ZjJlOWRmMTJk
YTZjOGY4ZjQyLi5hOGU5YmFiM2VmZjA3ZmJlZTIxYzk2OTdkYmQ4OWMxOTc0YmUyODZhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViUGxheWJhY2tTZXNzaW9u
TWFuYWdlclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYlBs
YXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5oCkBAIC03OSw2ICs3OSw4IEBAIHB1YmxpYzoKICAg
ICB2b2lkIHNldENhblBsYXlGYXN0UmV2ZXJzZShib29sKTsKICAgICB2b2lkIHNldEF1ZGlvTWVk
aWFTZWxlY3Rpb25PcHRpb25zKGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpNZWRpYVNlbGVjdGlvbk9w
dGlvbj4mIG9wdGlvbnMsIHVpbnQ2NF90IGluZGV4KTsKICAgICB2b2lkIHNldExlZ2libGVNZWRp
YVNlbGVjdGlvbk9wdGlvbnMoY29uc3QgVmVjdG9yPFdlYkNvcmU6Ok1lZGlhU2VsZWN0aW9uT3B0
aW9uPiYgb3B0aW9ucywgdWludDY0X3QgaW5kZXgpOworICAgIHZvaWQgc2V0QXVkaW9NZWRpYVNl
bGVjdGlvbkluZGV4KHVpbnQ2NF90IHNlbGVjdGVkSW5kZXgpOworICAgIHZvaWQgc2V0TGVnaWJs
ZU1lZGlhU2VsZWN0aW9uSW5kZXgodWludDY0X3Qgc2VsZWN0ZWRJbmRleCk7CiAgICAgdm9pZCBz
ZXRFeHRlcm5hbFBsYXliYWNrKGJvb2wsIFdlYlBsYXliYWNrU2Vzc2lvbk1vZGVsOjpFeHRlcm5h
bFBsYXliYWNrVGFyZ2V0VHlwZSwgY29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCBzZXRXaXJlbGVz
c1ZpZGVvUGxheWJhY2tEaXNhYmxlZChib29sKTsKIApAQCAtMTgyLDYgKzE4NCw4IEBAIHByaXZh
dGU6CiAgICAgdm9pZCBzZXRDYW5QbGF5RmFzdFJldmVyc2UodWludDY0X3QgY29udGV4dElkLCBi
b29sIHZhbHVlKTsKICAgICB2b2lkIHNldEF1ZGlvTWVkaWFTZWxlY3Rpb25PcHRpb25zKHVpbnQ2
NF90IGNvbnRleHRJZCwgVmVjdG9yPFdlYkNvcmU6Ok1lZGlhU2VsZWN0aW9uT3B0aW9uPiBvcHRp
b25zLCB1aW50NjRfdCBzZWxlY3RlZEluZGV4KTsKICAgICB2b2lkIHNldExlZ2libGVNZWRpYVNl
bGVjdGlvbk9wdGlvbnModWludDY0X3QgY29udGV4dElkLCBWZWN0b3I8V2ViQ29yZTo6TWVkaWFT
ZWxlY3Rpb25PcHRpb24+IG9wdGlvbnMsIHVpbnQ2NF90IHNlbGVjdGVkSW5kZXgpOworICAgIHZv
aWQgc2V0QXVkaW9NZWRpYVNlbGVjdGlvbkluZGV4KHVpbnQ2NF90IGNvbnRleHRJZCwgdWludDY0
X3Qgc2VsZWN0ZWRJbmRleCk7CisgICAgdm9pZCBzZXRMZWdpYmxlTWVkaWFTZWxlY3Rpb25JbmRl
eCh1aW50NjRfdCBjb250ZXh0SWQsIHVpbnQ2NF90IHNlbGVjdGVkSW5kZXgpOwogICAgIHZvaWQg
c2V0RXh0ZXJuYWxQbGF5YmFja1Byb3BlcnRpZXModWludDY0X3QgY29udGV4dElkLCBib29sIGVu
YWJsZWQsIHVpbnQzMl90IHRhcmdldFR5cGUsIFN0cmluZyBsb2NhbGl6ZWREZXZpY2VOYW1lKTsK
ICAgICB2b2lkIHNldFdpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkKHVpbnQ2NF90IGNvbnRl
eHRJZCwgYm9vbCk7CiAgICAgdm9pZCBzZXREdXJhdGlvbih1aW50NjRfdCBjb250ZXh0SWQsIGRv
dWJsZSBkdXJhdGlvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29j
b2EvV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5tZXNz
YWdlcy5pbgppbmRleCBhN2YxNGJmNGQ0ZjFhNGVlMjM3M2FhNDE3NTUwZjVjNzAxY2QxNTU4Li5i
YzJkMzRmYTYzNTNjNjUyYjQ4M2VkZDFlYmZiMTU0NTI4NTVjMjkzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5
Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9XZWJQbGF5
YmFja1Nlc3Npb25NYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4KQEAgLTI5LDYgKzI5LDggQEAgbWVz
c2FnZXMgLT4gV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5IHsKICAgICBTZXRDYW5QbGF5
RmFzdFJldmVyc2UodWludDY0X3QgY29udGV4dElkLCBib29sIHZhbHVlKQogICAgIFNldEF1ZGlv
TWVkaWFTZWxlY3Rpb25PcHRpb25zKHVpbnQ2NF90IGNvbnRleHRJZCwgVmVjdG9yPFdlYkNvcmU6
Ok1lZGlhU2VsZWN0aW9uT3B0aW9uPiBvcHRpb25zLCB1aW50NjRfdCBzZWxlY3RlZEluZGV4KQog
ICAgIFNldExlZ2libGVNZWRpYVNlbGVjdGlvbk9wdGlvbnModWludDY0X3QgY29udGV4dElkLCBW
ZWN0b3I8V2ViQ29yZTo6TWVkaWFTZWxlY3Rpb25PcHRpb24+IG9wdGlvbnMsIHVpbnQ2NF90IHNl
bGVjdGVkSW5kZXgpCisgICAgU2V0QXVkaW9NZWRpYVNlbGVjdGlvbkluZGV4KHVpbnQ2NF90IGNv
bnRleHRJZCwgdWludDY0X3Qgc2VsZWN0ZWRJbmRleCkKKyAgICBTZXRMZWdpYmxlTWVkaWFTZWxl
Y3Rpb25JbmRleCh1aW50NjRfdCBjb250ZXh0SWQsIHVpbnQ2NF90IHNlbGVjdGVkSW5kZXgpCiAg
ICAgU2V0RXh0ZXJuYWxQbGF5YmFja1Byb3BlcnRpZXModWludDY0X3QgY29udGV4dElkLCBib29s
IGVuYWJsZWQsIHVpbnQzMl90IHRhcmdldFR5cGUsIFN0cmluZyBsb2NhbGl6ZWREZXZpY2VOYW1l
KQogICAgIFNldFdpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkKHVpbnQ2NF90IGNvbnRleHRJ
ZCwgYm9vbCBkaXNhYmxlZCkKICAgICBTZXREdXJhdGlvbih1aW50NjRfdCBjb250ZXh0SWQsIGRv
dWJsZSBkdXJhdGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2Nv
YS9XZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHkubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQ29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5Lm1tCmluZGV4IDVjZGI1
YWRiZDdmN2RiM2RkMWU5OTdlNTU2YmU2NzY4MmQ5MzAyMjkuLmRmZmRjNjNmYWMzMGY4OWQxY2Fh
MTQ4YWIwODIyOWMwMmVmZTVkYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9Db2NvYS9XZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHkubW0KKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5tbQpA
QCAtMjA1LDYgKzIwNSwyMiBAQCB2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1vZGVsQ29udGV4dDo6
c2V0TGVnaWJsZU1lZGlhU2VsZWN0aW9uT3B0aW9ucyhjb25zdCBWZWN0bwogICAgICAgICBjbGll
bnQtPmxlZ2libGVNZWRpYVNlbGVjdGlvbk9wdGlvbnNDaGFuZ2VkKGxlZ2libGVNZWRpYVNlbGVj
dGlvbk9wdGlvbnMsIGxlZ2libGVNZWRpYVNlbGVjdGVkSW5kZXgpOwogfQogCit2b2lkIFdlYlBs
YXliYWNrU2Vzc2lvbk1vZGVsQ29udGV4dDo6c2V0QXVkaW9NZWRpYVNlbGVjdGlvbkluZGV4KHVp
bnQ2NF90IHNlbGVjdGVkSW5kZXgpCit7CisgICAgbV9hdWRpb01lZGlhU2VsZWN0ZWRJbmRleCA9
IHNlbGVjdGVkSW5kZXg7CisKKyAgICBmb3IgKGF1dG8qIGNsaWVudCA6IG1fY2xpZW50cykKKyAg
ICAgICAgY2xpZW50LT5hdWRpb01lZGlhU2VsZWN0aW9uSW5kZXhDaGFuZ2VkKHNlbGVjdGVkSW5k
ZXgpOworfQorCit2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1vZGVsQ29udGV4dDo6c2V0TGVnaWJs
ZU1lZGlhU2VsZWN0aW9uSW5kZXgodWludDY0X3Qgc2VsZWN0ZWRJbmRleCkKK3sKKyAgICBtX2xl
Z2libGVNZWRpYVNlbGVjdGVkSW5kZXggPSBzZWxlY3RlZEluZGV4OworCisgICAgZm9yIChhdXRv
KiBjbGllbnQgOiBtX2NsaWVudHMpCisgICAgICAgIGNsaWVudC0+bGVnaWJsZU1lZGlhU2VsZWN0
aW9uSW5kZXhDaGFuZ2VkKHNlbGVjdGVkSW5kZXgpOworfQorCiB2b2lkIFdlYlBsYXliYWNrU2Vz
c2lvbk1vZGVsQ29udGV4dDo6c2V0RXh0ZXJuYWxQbGF5YmFjayhib29sIGVuYWJsZWQsIFdlYlBs
YXliYWNrU2Vzc2lvbk1vZGVsOjpFeHRlcm5hbFBsYXliYWNrVGFyZ2V0VHlwZSB0eXBlLCBjb25z
dCBTdHJpbmcmIGxvY2FsaXplZE5hbWUpCiB7CiAgICAgbV9leHRlcm5hbFBsYXliYWNrRW5hYmxl
ZCA9IGVuYWJsZWQ7CkBAIC0zNzUsNiArMzkxLDE2IEBAIHZvaWQgV2ViUGxheWJhY2tTZXNzaW9u
TWFuYWdlclByb3h5OjpzZXRMZWdpYmxlTWVkaWFTZWxlY3Rpb25PcHRpb25zKHVpbnQ2NF90IGNv
CiAgICAgZW5zdXJlTW9kZWwoY29udGV4dElkKS5zZXRMZWdpYmxlTWVkaWFTZWxlY3Rpb25PcHRp
b25zKG9wdGlvbnMsIHNlbGVjdGVkSW5kZXgpOwogfQogCit2b2lkIFdlYlBsYXliYWNrU2Vzc2lv
bk1hbmFnZXJQcm94eTo6c2V0QXVkaW9NZWRpYVNlbGVjdGlvbkluZGV4KHVpbnQ2NF90IGNvbnRl
eHRJZCwgdWludDY0X3Qgc2VsZWN0ZWRJbmRleCkKK3sKKyAgICBlbnN1cmVNb2RlbChjb250ZXh0
SWQpLnNldEF1ZGlvTWVkaWFTZWxlY3Rpb25JbmRleChzZWxlY3RlZEluZGV4KTsKK30KKwordm9p
ZCBXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OnNldExlZ2libGVNZWRpYVNlbGVjdGlv
bkluZGV4KHVpbnQ2NF90IGNvbnRleHRJZCwgdWludDY0X3Qgc2VsZWN0ZWRJbmRleCkKK3sKKyAg
ICBlbnN1cmVNb2RlbChjb250ZXh0SWQpLnNldExlZ2libGVNZWRpYVNlbGVjdGlvbkluZGV4KHNl
bGVjdGVkSW5kZXgpOworfQorCiB2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6
c2V0RXh0ZXJuYWxQbGF5YmFja1Byb3BlcnRpZXModWludDY0X3QgY29udGV4dElkLCBib29sIGVu
YWJsZWQsIHVpbnQzMl90IHRhcmdldFR5cGUsIFN0cmluZyBsb2NhbGl6ZWREZXZpY2VOYW1lKQog
ewogICAgIFdlYlBsYXliYWNrU2Vzc2lvbk1vZGVsOjpFeHRlcm5hbFBsYXliYWNrVGFyZ2V0VHlw
ZSB0eXBlID0gc3RhdGljX2Nhc3Q8V2ViUGxheWJhY2tTZXNzaW9uTW9kZWw6OkV4dGVybmFsUGxh
eWJhY2tUYXJnZXRUeXBlPih0YXJnZXRUeXBlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAppbmRl
eCA4MGZlNmFlMDFlMTIzODQ2YTI3M2JkYzcyNGIzOTMwMWFiNzg1ODA1Li40NDE3MDczNjA1MGM5
MGUwZGJmNzlkYTlmYzE5NjQ5NTc1YjZhZmEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCkBA
IC0xMjMyLDQgKzEyMzIsMjIgQEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmRpZENoYW5nZUNsaXBU
b1NhZmVBcmVhKGJvb2wgY2xpcFRvU2FmZUFyZWEpCiAgICAgbV9wYWdlLnNlbmQoTWVzc2FnZXM6
OldlYlBhZ2VQcm94eTo6U2V0Q2xpcFRvU2FmZUFyZWEoY2xpcFRvU2FmZUFyZWEpKTsKIH0KIAor
I2lmIEVOQUJMRShWSURFT19UUkFDSykKKwordm9pZCBXZWJDaHJvbWVDbGllbnQ6OmRpZENoYW5n
ZUVuYWJsZWRUZXh0VHJhY2tzKEhUTUxNZWRpYUVsZW1lbnQmIG1lZGlhRWxlbWVudCkKK3sKKyNp
ZiBQTEFURk9STShJT1MpIHx8IChQTEFURk9STShNQUMpICYmIEVOQUJMRShWSURFT19QUkVTRU5U
QVRJT05fTU9ERSkpCisgICAgbV9wYWdlLnBsYXliYWNrU2Vzc2lvbk1hbmFnZXIoKS5lbmFibGVk
VGV4dFRyYWNrc0NoYW5nZWQobWVkaWFFbGVtZW50KTsKKyNlbmRpZgorfQorCit2b2lkIFdlYkNo
cm9tZUNsaWVudDo6ZGlkQ2hhbmdlRW5hYmxlZEF1ZGlvVHJhY2tzKEhUTUxNZWRpYUVsZW1lbnQm
IG1lZGlhRWxlbWVudCkKK3sKKyNpZiBQTEFURk9STShJT1MpIHx8IChQTEFURk9STShNQUMpICYm
IEVOQUJMRShWSURFT19QUkVTRU5UQVRJT05fTU9ERSkpCisgICAgbV9wYWdlLnBsYXliYWNrU2Vz
c2lvbk1hbmFnZXIoKS5lbmFibGVkQXVkaW9UcmFja3NDaGFuZ2VkKG1lZGlhRWxlbWVudCk7Cisj
ZW5kaWYKK30KKworI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
aCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50LmgKaW5kZXggMWM0ZDZiYmViMDFjYjIxN2Y0N2VhYWZiNTZjZDJkZGI2ZmFhMjEyYy4uYTA3
NWM2MjMxZGUxNzA2MjIxYTQ2ZDMyZTc5NzYwMGVmNDA3NWI1NyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5oCkBAIC0zNDQsNiArMzQ0LDExIEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGRpZENoYW5nZUNs
aXBUb1NhZmVBcmVhKGJvb2wpIGZpbmFsOwogCisjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQorICAg
IHZvaWQgZGlkQ2hhbmdlRW5hYmxlZFRleHRUcmFja3MoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVu
dCYpIGZpbmFsOworICAgIHZvaWQgZGlkQ2hhbmdlRW5hYmxlZEF1ZGlvVHJhY2tzKFdlYkNvcmU6
OkhUTUxNZWRpYUVsZW1lbnQmKSBmaW5hbDsKKyNlbmRpZgorCiAgICAgU3RyaW5nIG1fY2FjaGVk
VG9vbFRpcDsKICAgICBtdXRhYmxlIFJlZlB0cjxXZWJGcmFtZT4gbV9jYWNoZWRGcmFtZVNldExh
cmdlc3RGcmFtZTsKICAgICBtdXRhYmxlIGJvb2wgbV9jYWNoZWRNYWluRnJhbWVIYXNIb3Jpem9u
dGFsU2Nyb2xsYmFyIHsgZmFsc2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvY29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlci5oIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9jb2NvYS9XZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyLmgKaW5kZXggZGRmZTIx
Yzk2OWNiZGQwMWU5NWRkMGM3NGVmZTcwOTYyNzQ4MzM1Mi4uODMxYmUyMzdiMjcyOTRlZDRmNzky
NjIyNThkNTRkMzM4NTRiNDYyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9jb2NvYS9XZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9jb2NvYS9XZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyLmgKQEAgLTEwMiw2ICsx
MDIsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRVcFBsYXliYWNrQ29udHJvbHNNYW5hZ2VyKFdl
YkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQmKTsKICAgICB2b2lkIGNsZWFyUGxheWJhY2tDb250cm9s
c01hbmFnZXIoKTsKICAgICB1aW50NjRfdCBjb250ZXh0SWRGb3JNZWRpYUVsZW1lbnQoV2ViQ29y
ZTo6SFRNTE1lZGlhRWxlbWVudCYpOworICAgIHZvaWQgZW5hYmxlZFRleHRUcmFja3NDaGFuZ2Vk
KFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQmKTsKKyAgICB2b2lkIGVuYWJsZWRBdWRpb1RyYWNr
c0NoYW5nZWQoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudCYpOwogCiBwcm90ZWN0ZWQ6CiAgICAg
ZnJpZW5kIGNsYXNzIFdlYlBsYXliYWNrU2Vzc2lvbkludGVyZmFjZUNvbnRleHQ7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL2NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1h
bmFnZXIubW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL2NvY29hL1dlYlBsYXliYWNrU2Vz
c2lvbk1hbmFnZXIubW0KaW5kZXggMWY0ZWYzMTdmNTJmYjY5NzJlNjRhOTExOWY5YjM3NjFmNTk0
NWZmMi4uNjg0NTk0OWJjZTg2OTA0NGQ1MjIxNTc2MzNlMDE4OTMyYzk5OWExMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQbGF5YmFja1Nlc3Npb25NYW5h
Z2VyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvY29jb2EvV2ViUGxheWJhY2tT
ZXNzaW9uTWFuYWdlci5tbQpAQCAtMjY4LDYgKzI2OCwyMCBAQCB1aW50NjRfdCBXZWJQbGF5YmFj
a1Nlc3Npb25NYW5hZ2VyOjpjb250ZXh0SWRGb3JNZWRpYUVsZW1lbnQoV2ViQ29yZTo6SFRNTE1l
ZGlhRQogICAgIHJldHVybiBjb250ZXh0SWQ7CiB9CiAKK3ZvaWQgV2ViUGxheWJhY2tTZXNzaW9u
TWFuYWdlcjo6ZW5hYmxlZFRleHRUcmFja3NDaGFuZ2VkKEhUTUxNZWRpYUVsZW1lbnQmIG1lZGlh
RWxlbWVudCkKK3sKKyAgICB1aW50NjRfdCBjb250ZXh0SWQgPSBjb250ZXh0SWRGb3JNZWRpYUVs
ZW1lbnQobWVkaWFFbGVtZW50KTsKKyAgICB1aW50NjRfdCBzZWxlY3RlZEluZGV4ID0gZW5zdXJl
TW9kZWwoY29udGV4dElkKS5sZWdpYmxlTWVkaWFTZWxlY3RlZEluZGV4KCk7CisgICAgbV9wYWdl
LT5zZW5kKE1lc3NhZ2VzOjpXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OlNldExlZ2li
bGVNZWRpYVNlbGVjdGlvbkluZGV4KGNvbnRleHRJZCwgc2VsZWN0ZWRJbmRleCksIG1fcGFnZS0+
cGFnZUlEKCkpOworfQorCit2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXI6OmVuYWJsZWRB
dWRpb1RyYWNrc0NoYW5nZWQoSFRNTE1lZGlhRWxlbWVudCYgbWVkaWFFbGVtZW50KQoreworICAg
IHVpbnQ2NF90IGNvbnRleHRJZCA9IGNvbnRleHRJZEZvck1lZGlhRWxlbWVudChtZWRpYUVsZW1l
bnQpOworICAgIHVpbnQ2NF90IHNlbGVjdGVkSW5kZXggPSBlbnN1cmVNb2RlbChjb250ZXh0SWQp
LmF1ZGlvTWVkaWFTZWxlY3RlZEluZGV4KCk7CisgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpX
ZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OlNldEF1ZGlvTWVkaWFTZWxlY3Rpb25JbmRl
eChjb250ZXh0SWQsIHNlbGVjdGVkSW5kZXgpLCBtX3BhZ2UtPnBhZ2VJRCgpKTsKK30KKwogI3By
YWdtYSBtYXJrIEludGVyZmFjZSB0byBXZWJQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VDb250ZXh0
OgogCiB2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXI6OnJlc2V0TWVkaWFTdGF0ZSh1aW50
NjRfdCBjb250ZXh0SWQpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>308578</attachid>
            <date>2017-04-28 12:55:22 -0700</date>
            <delta_ts>2017-04-28 14:44:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-171434-20170428125520.patch</filename>
            <type>text/plain</type>
            <size>29277</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE1ODcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODM0NjY2MDczZmIzMjk4
N2QyMWRkZDE5MmE5NGMzNDYxZDVlM2RjNS4uMzYzZjdmZjM5Yjk0Mzk4NDY0MjkyMzQwNDE1YTU1
NDgzNmVlYmVmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDE3LTA0LTI4ICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIFdlYlBsYXliYWNr
Q29udHJvbHNNYW5hZ2VyIG5lZWRzIHRvIGtub3cgd2hlbiB0aGUgc2VsZWN0ZWQgdGV4dCBvciBh
dWRpbyB0cmFjayBjaGFuZ2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNzE0MzQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMxODg3OTIyPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZG9tL0dlbmVy
aWNFdmVudFF1ZXVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdlbmVyaWNFdmVudFF1ZXVlOjpo
YXNQZW5kaW5nRXZlbnRzT2ZUeXBlKTogQWRkZWQgdG8gY2hlY2sgaWYgYSBwZW5kaW5nIGV2ZW50
CisgICAgICAgIGV4aXN0cyBvZiBhIGNlcnRhaW4gdHlwZS4KKyAgICAgICAgKiBkb20vR2VuZXJp
Y0V2ZW50UXVldWUuaDoKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6c2V0U2VsZWN0ZWRUZXh0VHJhY2spOiBF
dmVuIGlmIG5vIHRyYWNrIG1vZGVzIGNoYW5nZSwgZmlyZSBhCisgICAgICAgIGNoYW5nZSBldmVu
dCB3aGVuIHRoZSB0cmFjayB0byBzZWxlY3QgaXMgb2ZmIG9yIGF1dG9tYXRpYyBzbyB0aGF0Cisg
ICAgICAgIFdlYlBsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50IGRldGVjdHMgdGhlIGNo
YW5nZS4KKyAgICAgICAgKiBodG1sL3RyYWNrL1RyYWNrTGlzdEJhc2UuY3BwOgorICAgICAgICAo
VHJhY2tMaXN0QmFzZTo6aXNDaGFuZ2VFdmVudFNjaGVkdWxlZCk6IFJldHVybnMgdHJ1ZSBpZiBt
X2FzeW5jRXZlbnRRdWV1ZSBoYXMgYSBwZW5kaW5nCisgICAgICAgIGNoYW5nZSBldmVudC4KKyAg
ICAgICAgKiBodG1sL3RyYWNrL1RyYWNrTGlzdEJhc2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9j
b2NvYS9XZWJQbGF5YmFja1Nlc3Npb25Nb2RlbC5oOgorICAgICAgICAoV2ViQ29yZTo6V2ViUGxh
eWJhY2tTZXNzaW9uTW9kZWxDbGllbnQ6OmF1ZGlvTWVkaWFTZWxlY3Rpb25JbmRleENoYW5nZWQp
OgorICAgICAgICAoV2ViQ29yZTo6V2ViUGxheWJhY2tTZXNzaW9uTW9kZWxDbGllbnQ6OmxlZ2li
bGVNZWRpYVNlbGVjdGlvbkluZGV4Q2hhbmdlZCk6CisgICAgICAgICogcGxhdGZvcm0vY29jb2Ev
V2ViUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9jb2NvYS9XZWJQbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudC5tbToKKyAgICAgICAg
KFdlYkNvcmU6OldlYlBsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50OjpzZXRNZWRpYUVs
ZW1lbnQpOiBSZWdpc3RlcmVkL3VucmVnaXN0ZXJlZCBmb3IKKyAgICAgICAgdGhlIGNoYW5nZSBl
dmVudCBvbiB0aGUgYXVkaW8gYW5kIHRleHQgdHJhY2tzLgorICAgICAgICAoV2ViQ29yZTo6V2Vi
UGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQ6OnVwZGF0ZUZvckV2ZW50TmFtZSk6IENh
bGxlZAorICAgICAgICB1cGRhdGVNZWRpYVNlbGVjdGlvbkluZGljZXMoKSB3aGVuIHRoZSBjaGFu
Z2UgZXZlbnQgZmlyZXMuCisgICAgICAgIChXZWJDb3JlOjpXZWJQbGF5YmFja1Nlc3Npb25Nb2Rl
bE1lZGlhRWxlbWVudDo6dXBkYXRlTWVkaWFTZWxlY3Rpb25PcHRpb25zKTogUmVuYW1lZCBmcm9t
CisgICAgICAgIHVwZGF0ZUxlZ2libGVPcHRpb25zKCkuCisgICAgICAgIChXZWJDb3JlOjpXZWJQ
bGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudDo6dXBkYXRlTWVkaWFTZWxlY3Rpb25JbmRp
Y2VzKTogQ2FsbGVkCisgICAgICAgIGF1ZGlvTWVkaWFTZWxlY3Rpb25JbmRleENoYW5nZWQoKSBh
bmQgbGVnaWJsZU1lZGlhU2VsZWN0aW9uSW5kZXhDaGFuZ2VkKCkgb24gbV9jbGllbnRzIHdpdGgK
KyAgICAgICAgdGhlIHVwZGF0ZWQgaW5kaWNlcy4KKyAgICAgICAgKFdlYkNvcmU6OldlYlBsYXli
YWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50OjpsZWdpYmxlTWVkaWFTZWxlY3RlZEluZGV4KTog
Rml4ZWQgYSBidWcKKyAgICAgICAgd2hlcmUgc2VsZWN0ZWRJbmRleCB3b3VsZCBuZXZlciBiZSBz
ZXQgdG8gb2ZmSW5kZXggaWYgb2ZmSW5kZXggaXMgMCAod2hpY2ggaXQgdXN1YWxseSBpcykuCisg
ICAgICAgIChXZWJDb3JlOjpXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudDo6dXBk
YXRlTGVnaWJsZU9wdGlvbnMpOiBSZW5hbWVkIHRvCisgICAgICAgIHVwZGF0ZU1lZGlhU2VsZWN0
aW9uT3B0aW9ucygpLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9XZWJQbGF5YmFja0NvbnRyb2xz
TWFuYWdlci5oOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9XZWJQbGF5YmFja0NvbnRyb2xzTWFu
YWdlci5tbToKKyAgICAgICAgKC1bV2ViUGxheWJhY2tDb250cm9sc01hbmFnZXIgc2V0QXVkaW9N
ZWRpYVNlbGVjdGlvbkluZGV4Ol0pOiBTZXQKKyAgICAgICAgX2N1cnJlbnRBdWRpb1RvdWNoQmFy
TWVkaWFTZWxlY3Rpb25PcHRpb24gdG8gdGhlIG9iamVjdCBhdCBzZWxlY3RlZEluZGV4IGFuZCBt
YW51YWxseQorICAgICAgICB0cmlnZ2VyZWQgYSBLVk8gbm90aWZpY2F0aW9uLiBXZSBjYW4ndCBj
YWxsIC1zZXRDdXJyZW50QXVkaW9Ub3VjaEJhck1lZGlhU2VsZWN0aW9uT3B0aW9uOgorICAgICAg
ICBoZXJlIHNpbmNlIHRoYXQgd2lsbCBzZW5kIGEgbWVzc2FnZSBiYWNrIHRvIHRoZSBXZWIgcHJv
Y2Vzcy4KKyAgICAgICAgKC1bV2ViUGxheWJhY2tDb250cm9sc01hbmFnZXIgc2V0TGVnaWJsZU1l
ZGlhU2VsZWN0aW9uSW5kZXg6XSk6IERpdHRvIGZvcgorICAgICAgICBfY3VycmVudExlZ2libGVU
b3VjaEJhck1lZGlhU2VsZWN0aW9uT3B0aW9uLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9XZWJQ
bGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvV2Vi
UGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6V2ViUGxh
eWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjOjphdWRpb01lZGlhU2VsZWN0aW9uSW5kZXhDaGFuZ2Vk
KTogQ2FsbGVkCisgICAgICAgIC1bV2ViUGxheWJhY2tDb250cm9sc01hbmFnZXIgc2V0QXVkaW9N
ZWRpYVNlbGVjdGlvbkluZGV4Ol0uCisgICAgICAgIChXZWJDb3JlOjpXZWJQbGF5YmFja1Nlc3Np
b25JbnRlcmZhY2VNYWM6OmxlZ2libGVNZWRpYVNlbGVjdGlvbkluZGV4Q2hhbmdlZCk6IENhbGxl
ZAorICAgICAgICAtW1dlYlBsYXliYWNrQ29udHJvbHNNYW5hZ2VyIHNldExlZ2libGVNZWRpYVNl
bGVjdGlvbkluZGV4Ol0uCisKIDIwMTctMDQtMjcgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUu
Y29tPgogCiAgICAgICAgIEZpeCB0aGUgbWFjT1MgYnVpbGQuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZDQyNDUy
ZGRlMzljZjk5MzRlMmQ3MDNjMWUzNTQ5ODU4MjYyMDdkYS4uZTI4OGMzNjQ2NWE2MzZmNDkyMWY1
NGM1Mzc4YTlhZDUzZGExZTgwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE3LTA0
LTI4ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIFdl
YlBsYXliYWNrQ29udHJvbHNNYW5hZ2VyIG5lZWRzIHRvIGtub3cgd2hlbiB0aGUgc2VsZWN0ZWQg
dGV4dCBvciBhdWRpbyB0cmFjayBjaGFuZ2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNzE0MzQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMxODg3
OTIyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
VUlQcm9jZXNzL0NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHkubWVzc2Fn
ZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1hbmFn
ZXJQcm94eS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGxheWJhY2tTZXNzaW9uTW9kZWxDb250
ZXh0OjpzZXRBdWRpb01lZGlhU2VsZWN0aW9uSW5kZXgpOiBTZXQKKyAgICAgICAgbV9hdWRpb01l
ZGlhU2VsZWN0ZWRJbmRleCBhbmQgbm90aWZpZWQgY2xpZW50cy4KKyAgICAgICAgKFdlYktpdDo6
V2ViUGxheWJhY2tTZXNzaW9uTW9kZWxDb250ZXh0OjpzZXRMZWdpYmxlTWVkaWFTZWxlY3Rpb25J
bmRleCk6IERpdHRvIGZvcgorICAgICAgICBtX2xlZ2libGVNZWRpYVNlbGVjdGVkSW5kZXguCisg
ICAgICAgIChXZWJLaXQ6OldlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6c2V0QXVkaW9N
ZWRpYVNlbGVjdGlvbkluZGV4KTogQ2FsbGVkCisgICAgICAgIFdlYlBsYXliYWNrU2Vzc2lvbk1v
ZGVsQ29udGV4dDo6c2V0QXVkaW9NZWRpYVNlbGVjdGlvbkluZGV4KCkuCisgICAgICAgIChXZWJL
aXQ6OldlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6c2V0TGVnaWJsZU1lZGlhU2VsZWN0
aW9uSW5kZXgpOiBDYWxsZWQKKyAgICAgICAgV2ViUGxheWJhY2tTZXNzaW9uTW9kZWxDb250ZXh0
OjpzZXRMZWdpYmxlTWVkaWFTZWxlY3Rpb25JbmRleCgpLgorICAgICAgICAqIFdlYlByb2Nlc3Mv
Y29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlci5oOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
Y29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlci5tbToKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlQ29udGV4dDo6YXVkaW9NZWRpYVNlbGVjdGlvbkluZGV4
Q2hhbmdlZCk6IENhbGxlZAorICAgICAgICBXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyOjogYXVk
aW9NZWRpYVNlbGVjdGlvbkluZGV4Q2hhbmdlZCgpLgorICAgICAgICAoV2ViS2l0OjpXZWJQbGF5
YmFja1Nlc3Npb25JbnRlcmZhY2VDb250ZXh0OjpsZWdpYmxlTWVkaWFTZWxlY3Rpb25JbmRleENo
YW5nZWQpOiBDYWxsZWQKKyAgICAgICAgV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlcjo6bGVnaWJs
ZU1lZGlhU2VsZWN0aW9uSW5kZXhDaGFuZ2VkKCkuCisgICAgICAgIChXZWJLaXQ6OldlYlBsYXli
YWNrU2Vzc2lvbk1hbmFnZXI6OmF1ZGlvTWVkaWFTZWxlY3Rpb25JbmRleENoYW5nZWQpOiBTZW50
CisgICAgICAgIFdlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6U2V0QXVkaW9NZWRpYVNl
bGVjdGlvbkluZGV4KCkuCisgICAgICAgIChXZWJLaXQ6OldlYlBsYXliYWNrU2Vzc2lvbk1hbmFn
ZXI6OmxlZ2libGVNZWRpYVNlbGVjdGlvbkluZGV4Q2hhbmdlZCk6IFNlbnQKKyAgICAgICAgV2Vi
UGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5OjpTZXRMZWdpYmxlTWVkaWFTZWxlY3Rpb25JbmRl
eCgpLgorCiAyMDE3LTA0LTI3ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlh
LmNvbT4KIAogICAgICAgICBbR1RLXSBSZW1vdGUgaW5zcGVjdG9yIHNob3VsZCBzdXBwb3J0IGlu
c3BlY3RpbmcgdGFyZ2V0cyB3aXRoIHByZXZpb3VzIHZlcnNpb24gb2YgYmFja2VuZCBjb21tYW5k
cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0dlbmVyaWNFdmVudFF1ZXVlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9HZW5lcmljRXZlbnRRdWV1ZS5jcHAKaW5kZXggN2Y1NmY0NWZh
NGI2YTMxZjEyOWU4ZDI5ZjBlZTRhZWY1ZjQ5ZjIxMC4uYjQzNTBmMjA5YTczOTkxMDllOTA5ZmYy
NWVhMjg5ZTU3ZTJmYWUwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0dlbmVyaWNF
dmVudFF1ZXVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vR2VuZXJpY0V2ZW50UXVldWUu
Y3BwCkBAIC04OSw2ICs4OSwxNiBAQCBib29sIEdlbmVyaWNFdmVudFF1ZXVlOjpoYXNQZW5kaW5n
RXZlbnRzKCkgY29uc3QKICAgICByZXR1cm4gIW1fcGVuZGluZ0V2ZW50cy5pc0VtcHR5KCk7CiB9
CiAKK2Jvb2wgR2VuZXJpY0V2ZW50UXVldWU6Omhhc1BlbmRpbmdFdmVudHNPZlR5cGUoY29uc3Qg
QXRvbWljU3RyaW5nJiB0eXBlKSBjb25zdAoreworICAgIGZvciAoYXV0byYgZXZlbnQgOiBtX3Bl
bmRpbmdFdmVudHMpIHsKKyAgICAgICAgaWYgKGV2ZW50LT50eXBlKCkgPT0gdHlwZSkKKyAgICAg
ICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAgIHJldHVybiBmYWxzZTsKK30KKwogdm9p
ZCBHZW5lcmljRXZlbnRRdWV1ZTo6c3VzcGVuZCgpCiB7CiAgICAgQVNTRVJUKCFtX2lzU3VzcGVu
ZGVkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9HZW5lcmljRXZlbnRRdWV1ZS5o
IGIvU291cmNlL1dlYkNvcmUvZG9tL0dlbmVyaWNFdmVudFF1ZXVlLmgKaW5kZXggNDViOWU4MjAz
ZTRhZGY0NGNjMWNhNTdjYzEzMzEwNmI3NDJlNmU5Ny4uOWIxZTEwZmU3YzJmN2M5ZGZhYzc3MjAy
ZmE5YTI1MWI2ODg3NDAwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0dlbmVyaWNF
dmVudFF1ZXVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0dlbmVyaWNFdmVudFF1ZXVlLmgK
QEAgLTQ3LDYgKzQ3LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBjYW5jZWxBbGxFdmVudHMoKTsK
ICAgICBib29sIGhhc1BlbmRpbmdFdmVudHMoKSBjb25zdDsKKyAgICBib29sIGhhc1BlbmRpbmdF
dmVudHNPZlR5cGUoY29uc3QgQXRvbWljU3RyaW5nJikgY29uc3Q7CiAKICAgICB2b2lkIHN1c3Bl
bmQoKTsKICAgICB2b2lkIHJlc3VtZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHAKaW5kZXggYThmYjIwNmE2ZTVjZmI5NmQ2NjIyMjEzMzFkM2IwYjY3OWFjNGZlYy4u
NGY5MmY2NmVkMzhhMDAyY2IyMmM1ODBhZDhmYmIzZjJmYWYyMGU3ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC00MTAwLDEwICs0MTAwLDE5IEBAIHZvaWQg
SFRNTE1lZGlhRWxlbWVudDo6c2V0U2VsZWN0ZWRUZXh0VHJhY2soVGV4dFRyYWNrKiB0cmFja1Rv
U2VsZWN0KQogICAgIGlmICghdHJhY2tMaXN0Lmxlbmd0aCgpKQogICAgICAgICByZXR1cm47CiAK
LSAgICBpZiAodHJhY2tUb1NlbGVjdCAhPSBUZXh0VHJhY2s6OmNhcHRpb25NZW51T2ZmSXRlbSgp
ICYmIHRyYWNrVG9TZWxlY3QgIT0gVGV4dFRyYWNrOjpjYXB0aW9uTWVudUF1dG9tYXRpY0l0ZW0o
KSkgeworICAgIGlmICh0cmFja1RvU2VsZWN0ID09IFRleHRUcmFjazo6Y2FwdGlvbk1lbnVBdXRv
bWF0aWNJdGVtKCkpIHsKKyAgICAgICAgaWYgKG1fY2FwdGlvbkRpc3BsYXlNb2RlICE9IENhcHRp
b25Vc2VyUHJlZmVyZW5jZXM6OkF1dG9tYXRpYykKKyAgICAgICAgICAgIG1fdGV4dFRyYWNrcy0+
c2NoZWR1bGVDaGFuZ2VFdmVudCgpOworICAgIH0gZWxzZSBpZiAodHJhY2tUb1NlbGVjdCA9PSBU
ZXh0VHJhY2s6OmNhcHRpb25NZW51T2ZmSXRlbSgpKSB7CisgICAgICAgIGZvciAoaW50IGkgPSAw
LCBsZW5ndGggPSB0cmFja0xpc3QubGVuZ3RoKCk7IGkgPCBsZW5ndGg7ICsraSkKKyAgICAgICAg
ICAgIHRyYWNrTGlzdC5pdGVtKGkpLT5zZXRNb2RlKFRleHRUcmFjazo6TW9kZTo6RGlzYWJsZWQp
OworCisgICAgICAgIGlmIChtX2NhcHRpb25EaXNwbGF5TW9kZSAhPSBDYXB0aW9uVXNlclByZWZl
cmVuY2VzOjpGb3JjZWRPbmx5ICYmICF0cmFja0xpc3QuaXNDaGFuZ2VFdmVudFNjaGVkdWxlZCgp
KQorICAgICAgICAgICAgbV90ZXh0VHJhY2tzLT5zY2hlZHVsZUNoYW5nZUV2ZW50KCk7CisgICAg
fSBlbHNlIHsKICAgICAgICAgaWYgKCF0cmFja1RvU2VsZWN0IHx8ICF0cmFja0xpc3QuY29udGFp
bnMoKnRyYWNrVG9TZWxlY3QpKQogICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAKKwogICAg
ICAgICBmb3IgKGludCBpID0gMCwgbGVuZ3RoID0gdHJhY2tMaXN0Lmxlbmd0aCgpOyBpIDwgbGVu
Z3RoOyArK2kpIHsKICAgICAgICAgICAgIGF1dG8mIHRyYWNrID0gKnRyYWNrTGlzdC5pdGVtKGkp
OwogICAgICAgICAgICAgaWYgKCZ0cmFjayAhPSB0cmFja1RvU2VsZWN0KQpAQCAtNDExMSw5ICs0
MTIwLDYgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzZXRTZWxlY3RlZFRleHRUcmFjayhUZXh0
VHJhY2sqIHRyYWNrVG9TZWxlY3QpCiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAg
dHJhY2suc2V0TW9kZShUZXh0VHJhY2s6Ok1vZGU6OlNob3dpbmcpOwogICAgICAgICB9Ci0gICAg
fSBlbHNlIGlmICh0cmFja1RvU2VsZWN0ID09IFRleHRUcmFjazo6Y2FwdGlvbk1lbnVPZmZJdGVt
KCkpIHsKLSAgICAgICAgZm9yIChpbnQgaSA9IDAsIGxlbmd0aCA9IHRyYWNrTGlzdC5sZW5ndGgo
KTsgaSA8IGxlbmd0aDsgKytpKQotICAgICAgICAgICAgdHJhY2tMaXN0Lml0ZW0oaSktPnNldE1v
ZGUoVGV4dFRyYWNrOjpNb2RlOjpEaXNhYmxlZCk7CiAgICAgfQogCiAgICAgaWYgKCFkb2N1bWVu
dCgpLnBhZ2UoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVHJhY2tM
aXN0QmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RyYWNrTGlzdEJhc2UuY3Bw
CmluZGV4IGVmODkyY2JiNWE4NzMxNTBkZDYzN2EzNzZiNjhkOTczYTI2ZGIwZDEuLjU2NmY2ODA3
OWZmZjJiNWIwZGY3N2I1YWNkNzg3ODA3YjQ5NGUyN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvdHJhY2svVHJhY2tMaXN0QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC90cmFjay9UcmFja0xpc3RCYXNlLmNwcApAQCAtMTYwLDYgKzE2MCwxMSBAQCB2b2lkIFRyYWNr
TGlzdEJhc2U6OnNjaGVkdWxlQ2hhbmdlRXZlbnQoKQogICAgIG1fYXN5bmNFdmVudFF1ZXVlLmVu
cXVldWVFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5jaGFuZ2VFdmVudCwgZmFsc2Us
IGZhbHNlKSk7CiB9CiAKK2Jvb2wgVHJhY2tMaXN0QmFzZTo6aXNDaGFuZ2VFdmVudFNjaGVkdWxl
ZCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fYXN5bmNFdmVudFF1ZXVlLmhhc1BlbmRpbmdFdmVu
dHNPZlR5cGUoZXZlbnROYW1lcygpLmNoYW5nZUV2ZW50KTsKK30KKwogYm9vbCBUcmFja0xpc3RC
YXNlOjppc0FueVRyYWNrRW5hYmxlZCgpIGNvbnN0CiB7CiAgICAgZm9yIChhdXRvJiB0cmFjayA6
IG1faW5iYW5kVHJhY2tzKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNr
L1RyYWNrTGlzdEJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVHJhY2tMaXN0QmFz
ZS5oCmluZGV4IDk1NzNhMjEzMWZhYThlMmY1YTMwYzg3YTI2MGQ1MDNiYzBhYWQ3OGEuLmExOWEy
ZDEzNTNiNGI0ZmU1MjY2MjIyNTU3MWI2NzBiYzA1NzI5ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvdHJhY2svVHJhY2tMaXN0QmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvdHJhY2svVHJhY2tMaXN0QmFzZS5oCkBAIC02MCw2ICs2MCw3IEBAIHB1YmxpYzoKIAogICAg
IC8vIE5lZWRzIHRvIGJlIHB1YmxpYyBzbyB0cmFja3MgY2FuIGNhbGwgaXQKICAgICB2b2lkIHNj
aGVkdWxlQ2hhbmdlRXZlbnQoKTsKKyAgICBib29sIGlzQ2hhbmdlRXZlbnRTY2hlZHVsZWQoKSBj
b25zdDsKIAogICAgIGJvb2wgaXNBbnlUcmFja0VuYWJsZWQoKSBjb25zdDsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTW9kZWwu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1vZGVs
LmgKaW5kZXggM2RmMjU4ZjNmNzllZDJhMjQ5OGM1MWVhMjMyMjlmYjBkODJkNjc0ZS4uNzg4NzQz
MGRhYjlmOWU2MDQ2ZjM5NjM4NGFkNjhmNGY0YWU1NDgyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vY29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTW9kZWwuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9XZWJQbGF5YmFja1Nlc3Npb25Nb2RlbC5oCkBAIC05
MCw2ICs5MCw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgY2FuUGxheUZhc3RSZXZlcnNl
Q2hhbmdlZChib29sKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgYXVkaW9NZWRpYVNlbGVjdGlvbk9w
dGlvbnNDaGFuZ2VkKGNvbnN0IFZlY3RvcjxNZWRpYVNlbGVjdGlvbk9wdGlvbj4mIC8qIG9wdGlv
bnMgKi8sIHVpbnQ2NF90IC8qIHNlbGVjdGVkSW5kZXggKi8pIHsgfQogICAgIHZpcnR1YWwgdm9p
ZCBsZWdpYmxlTWVkaWFTZWxlY3Rpb25PcHRpb25zQ2hhbmdlZChjb25zdCBWZWN0b3I8TWVkaWFT
ZWxlY3Rpb25PcHRpb24+JiAvKiBvcHRpb25zICovLCB1aW50NjRfdCAvKiBzZWxlY3RlZEluZGV4
ICovKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgYXVkaW9NZWRpYVNlbGVjdGlvbkluZGV4Q2hhbmdl
ZCh1aW50NjRfdCkgeyB9CisgICAgdmlydHVhbCB2b2lkIGxlZ2libGVNZWRpYVNlbGVjdGlvbklu
ZGV4Q2hhbmdlZCh1aW50NjRfdCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIGV4dGVybmFsUGxheWJh
Y2tDaGFuZ2VkKGJvb2wgLyogZW5hYmxlZCAqLywgV2ViUGxheWJhY2tTZXNzaW9uTW9kZWw6OkV4
dGVybmFsUGxheWJhY2tUYXJnZXRUeXBlLCBjb25zdCBTdHJpbmcmIC8qIGxvY2FsaXplZERldmlj
ZU5hbWUgKi8pIHsgfQogICAgIHZpcnR1YWwgdm9pZCB3aXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNh
YmxlZENoYW5nZWQoYm9vbCkgeyB9CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVt
ZW50LmgKaW5kZXggZmIyNTc5Y2FmMWY3NDBkMGMzOWExNmVjYzRiMjM1ODkxNTgwODAwOS4uNjBm
MzBhZDM4OTQ3MDAyOTI5NDgyMGU1NmM2NWExYjQwOGFkYzI4YyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1l
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9XZWJQbGF5YmFja1Nlc3Np
b25Nb2RlbE1lZGlhRWxlbWVudC5oCkBAIC0xMDIsNyArMTAyLDggQEAgcHJpdmF0ZToKICAgICBW
ZWN0b3I8UmVmUHRyPEF1ZGlvVHJhY2s+PiBtX2F1ZGlvVHJhY2tzRm9yTWVudTsKICAgICAKICAg
ICBkb3VibGUgcGxheWJhY2tTdGFydGVkVGltZSgpIGNvbnN0OwotICAgIHZvaWQgdXBkYXRlTGVn
aWJsZU9wdGlvbnMoKTsKKyAgICB2b2lkIHVwZGF0ZU1lZGlhU2VsZWN0aW9uT3B0aW9ucygpOwor
ICAgIHZvaWQgdXBkYXRlTWVkaWFTZWxlY3Rpb25JbmRpY2VzKCk7CiB9OwogCiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9XZWJQbGF5YmFja1Nlc3Npb25Nb2Rl
bE1lZGlhRWxlbWVudC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1dlYlBsYXli
YWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50Lm1tCmluZGV4IGMwZDA1MjFjYTQ5MGQ0MmI1ODFj
YjJiMmUxNWViMDA0YTVjMTM3OGYuLjVmOWI1YzQwOGQ3MDM4NDI3ZWQ2NmVhYTg1Zjg2MWJiM2I2
MjA1MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1dlYlBsYXli
YWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50Lm1tCkBAIC02NSw2
ICs2NSw4IEBAIHZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQ6OnNldE1l
ZGlhRWxlbWVudChIVE1MTWVkaWFFbGVtZW50KiBtZWRpCiAgICAgaWYgKG1fbWVkaWFFbGVtZW50
ICYmIG1faXNMaXN0ZW5pbmcpIHsKICAgICAgICAgZm9yIChhdXRvJiBldmVudE5hbWUgOiBvYnNl
cnZlZEV2ZW50TmFtZXMoKSkKICAgICAgICAgICAgIG1fbWVkaWFFbGVtZW50LT5yZW1vdmVFdmVu
dExpc3RlbmVyKGV2ZW50TmFtZSwgKnRoaXMsIGZhbHNlKTsKKyAgICAgICAgbV9tZWRpYUVsZW1l
bnQtPmF1ZGlvVHJhY2tzKCkucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkuY2hhbmdl
RXZlbnQsICp0aGlzLCBmYWxzZSk7CisgICAgICAgIG1fbWVkaWFFbGVtZW50LT50ZXh0VHJhY2tz
KCkucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkuY2hhbmdlRXZlbnQsICp0aGlzLCBm
YWxzZSk7CiAgICAgfQogICAgIG1faXNMaXN0ZW5pbmcgPSBmYWxzZTsKIApAQCAtNzYsNiArNzgs
OCBAQCB2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50OjpzZXRNZWRpYUVs
ZW1lbnQoSFRNTE1lZGlhRWxlbWVudCogbWVkaQogICAgIGlmIChtX21lZGlhRWxlbWVudCkgewog
ICAgICAgICBmb3IgKGF1dG8mIGV2ZW50TmFtZSA6IG9ic2VydmVkRXZlbnROYW1lcygpKQogICAg
ICAgICAgICAgbV9tZWRpYUVsZW1lbnQtPmFkZEV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCAqdGhp
cywgZmFsc2UpOworICAgICAgICBtX21lZGlhRWxlbWVudC0+YXVkaW9UcmFja3MoKS5hZGRFdmVu
dExpc3RlbmVyKGV2ZW50TmFtZXMoKS5jaGFuZ2VFdmVudCwgKnRoaXMsIGZhbHNlKTsKKyAgICAg
ICAgbV9tZWRpYUVsZW1lbnQtPnRleHRUcmFja3MoKS5hZGRFdmVudExpc3RlbmVyKGV2ZW50TmFt
ZXMoKS5jaGFuZ2VFdmVudCwgKnRoaXMsIGZhbHNlKTsKICAgICAgICAgbV9pc0xpc3RlbmluZyA9
IHRydWU7CiAgICAgfQogCkBAIC0xNDEsNyArMTQ1LDcgQEAgdm9pZCBXZWJQbGF5YmFja1Nlc3Np
b25Nb2RlbE1lZGlhRWxlbWVudDo6dXBkYXRlRm9yRXZlbnROYW1lKGNvbnN0IFdURjo6QXRvbWlj
U3QKICAgICBpZiAoYWxsCiAgICAgICAgIHx8IGV2ZW50TmFtZSA9PSBldmVudE5hbWVzKCkuYWRk
dHJhY2tFdmVudAogICAgICAgICB8fCBldmVudE5hbWUgPT0gZXZlbnROYW1lcygpLnJlbW92ZXRy
YWNrRXZlbnQpCi0gICAgICAgIHVwZGF0ZUxlZ2libGVPcHRpb25zKCk7CisgICAgICAgIHVwZGF0
ZU1lZGlhU2VsZWN0aW9uT3B0aW9ucygpOwogCiAgICAgaWYgKGFsbAogICAgICAgICB8fCBldmVu
dE5hbWUgPT0gZXZlbnROYW1lcygpLndlYmtpdGN1cnJlbnRwbGF5YmFja3RhcmdldGlzd2lyZWxl
c3NjaGFuZ2VkRXZlbnQpIHsKQEAgLTE1Niw2ICsxNjAsMTEgQEAgdm9pZCBXZWJQbGF5YmFja1Nl
c3Npb25Nb2RlbE1lZGlhRWxlbWVudDo6dXBkYXRlRm9yRXZlbnROYW1lKGNvbnN0IFdURjo6QXRv
bWljU3QKICAgICAgICAgICAgIGNsaWVudC0+d2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWRD
aGFuZ2VkKHdpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkKTsKICAgICAgICAgfQogICAgIH0K
KworICAgIC8vIFdlIGRvbid0IGNhbGwgdXBkYXRlTWVkaWFTZWxlY3Rpb25JbmRpY2VzKCkgaW4g
dGhlIGFsbCBjYXNlLCBzaW5jZQorICAgIC8vIHVwZGF0ZU1lZGlhU2VsZWN0aW9uT3B0aW9ucygp
IHdpbGwgYWxzbyB1cGRhdGUgdGhlIHNlbGVjdGlvbiBpbmRpY2VzLgorICAgIGlmIChldmVudE5h
bWUgPT0gZXZlbnROYW1lcygpLmNoYW5nZUV2ZW50KQorICAgICAgICB1cGRhdGVNZWRpYVNlbGVj
dGlvbkluZGljZXMoKTsKIH0KIHZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1l
bnQ6OmFkZENsaWVudChXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbENsaWVudCYgY2xpZW50KQogewpA
QCAtMjYwLDcgKzI2OSw3IEBAIHZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1l
bnQ6OnRvZ2dsZVBpY3R1cmVJblBpY3R1cmUoKQogICAgICAgICBtX21lZGlhRWxlbWVudC0+ZW50
ZXJGdWxsc2NyZWVuKE1lZGlhUGxheWVyRW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGVQaWN0dXJl
SW5QaWN0dXJlKTsKIH0KIAotdm9pZCBXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVu
dDo6dXBkYXRlTGVnaWJsZU9wdGlvbnMoKQordm9pZCBXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbE1l
ZGlhRWxlbWVudDo6dXBkYXRlTWVkaWFTZWxlY3Rpb25PcHRpb25zKCkKIHsKICAgICBpZiAoIW1f
bWVkaWFFbGVtZW50KQogICAgICAgICByZXR1cm47CkBAIC0yOTIsNiArMzAxLDE3IEBAIHZvaWQg
V2ViUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQ6OnVwZGF0ZUxlZ2libGVPcHRpb25z
KCkKICAgICB9CiB9CiAKK3ZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQ6
OnVwZGF0ZU1lZGlhU2VsZWN0aW9uSW5kaWNlcygpCit7CisgICAgYXV0byBhdWRpb0luZGV4ID0g
YXVkaW9NZWRpYVNlbGVjdGVkSW5kZXgoKTsKKyAgICBhdXRvIGxlZ2libGVJbmRleCA9IGxlZ2li
bGVNZWRpYVNlbGVjdGVkSW5kZXgoKTsKKworICAgIGZvciAoYXV0byBjbGllbnQgOiBtX2NsaWVu
dHMpIHsKKyAgICAgICAgY2xpZW50LT5hdWRpb01lZGlhU2VsZWN0aW9uSW5kZXhDaGFuZ2VkKGF1
ZGlvSW5kZXgpOworICAgICAgICBjbGllbnQtPmxlZ2libGVNZWRpYVNlbGVjdGlvbkluZGV4Q2hh
bmdlZChsZWdpYmxlSW5kZXgpOworICAgIH0KK30KKwogZG91YmxlIFdlYlBsYXliYWNrU2Vzc2lv
bk1vZGVsTWVkaWFFbGVtZW50OjpwbGF5YmFja1N0YXJ0ZWRUaW1lKCkgY29uc3QKIHsKICAgICBp
ZiAoIW1fbWVkaWFFbGVtZW50KQpAQCAtNDI4LDcgKzQ0OCw3IEBAIHVpbnQ2NF90IFdlYlBsYXli
YWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50OjpsZWdpYmxlTWVkaWFTZWxlY3RlZEluZGV4KCkg
Y29uc3QKICAgICAgICAgfQogICAgIH0KIAotICAgIGlmIChvZmZJbmRleCAmJiAhdHJhY2tNZW51
SXRlbVNlbGVjdGVkICYmIGRpc3BsYXlNb2RlID09IE1lZGlhQ29udHJvbHNIb3N0Ojpmb3JjZWRP
bmx5S2V5d29yZCgpKQorICAgIGlmIChvZmZJdGVtICYmICF0cmFja01lbnVJdGVtU2VsZWN0ZWQg
JiYgZGlzcGxheU1vZGUgPT0gTWVkaWFDb250cm9sc0hvc3Q6OmZvcmNlZE9ubHlLZXl3b3JkKCkp
CiAgICAgICAgIHNlbGVjdGVkSW5kZXggPSBvZmZJbmRleDsKIAogICAgIHJldHVybiBzZWxlY3Rl
ZEluZGV4OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYlBsYXli
YWNrQ29udHJvbHNNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViUGxh
eWJhY2tDb250cm9sc01hbmFnZXIuaAppbmRleCAyZDFhMjJiOWQ4M2Y1NmNjZjA4YmQwZmRmOWZh
NGRlOGFiODkyNTMwLi4yOTVmMDk1NjFhOGU1MzMyYTc3N2Y1NmY0NTBkYzgyNzI1MzcxYzRhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViUGxheWJhY2tDb250cm9s
c01hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViUGxheWJhY2tD
b250cm9sc01hbmFnZXIuaApAQCAtNzQsNiArNzQsOCBAQCBXRUJDT1JFX0VYUE9SVAogLSAodm9p
ZClzZXRDdXJyZW50TGVnaWJsZVRvdWNoQmFyTWVkaWFTZWxlY3Rpb25PcHRpb246KEFWVG91Y2hC
YXJNZWRpYVNlbGVjdGlvbk9wdGlvbiAqKW9wdGlvbjsKIC0gKHZvaWQpc2V0QXVkaW9NZWRpYVNl
bGVjdGlvbk9wdGlvbnM6KGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpNZWRpYVNlbGVjdGlvbk9wdGlv
bj4mKW9wdGlvbnMgd2l0aFNlbGVjdGVkSW5kZXg6KE5TVUludGVnZXIpc2VsZWN0ZWRJbmRleDsK
IC0gKHZvaWQpc2V0TGVnaWJsZU1lZGlhU2VsZWN0aW9uT3B0aW9uczooY29uc3QgVmVjdG9yPFdl
YkNvcmU6Ok1lZGlhU2VsZWN0aW9uT3B0aW9uPiYpb3B0aW9ucyB3aXRoU2VsZWN0ZWRJbmRleDoo
TlNVSW50ZWdlcilzZWxlY3RlZEluZGV4OworLSAodm9pZClzZXRBdWRpb01lZGlhU2VsZWN0aW9u
SW5kZXg6KE5TVUludGVnZXIpc2VsZWN0ZWRJbmRleDsKKy0gKHZvaWQpc2V0TGVnaWJsZU1lZGlh
U2VsZWN0aW9uSW5kZXg6KE5TVUludGVnZXIpc2VsZWN0ZWRJbmRleDsKIEBlbmQKIAogI2VuZGlm
IC8vIEVOQUJMRShXRUJfUExBWUJBQ0tfQ09OVFJPTFNfTUFOQUdFUikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJQbGF5YmFja0NvbnRyb2xzTWFuYWdlci5tbSBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJQbGF5YmFja0NvbnRyb2xzTWFuYWdlci5t
bQppbmRleCAxOWZlY2NjMjhiNGM2NGY5MTE5NzE3ZDhhZTU3YjU5NDgzNTg2OWNiLi4wODFkZmFm
NjYwODZlN2RmNWIzNTIzOGI4ODI3MGFlOTZlMjU4YTU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tYWMvV2ViUGxheWJhY2tDb250cm9sc01hbmFnZXIubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYlBsYXliYWNrQ29udHJvbHNNYW5hZ2VyLm1tCkBA
IC0yNzAsNiArMjcwLDI2IEBAIC0gKHZvaWQpc2V0TGVnaWJsZU1lZGlhU2VsZWN0aW9uT3B0aW9u
czooY29uc3QgVmVjdG9yPE1lZGlhU2VsZWN0aW9uT3B0aW9uPiYpb3B0CiAgICAgICAgIFtzZWxm
IHNldEN1cnJlbnRMZWdpYmxlVG91Y2hCYXJNZWRpYVNlbGVjdGlvbk9wdGlvbjpbd2ViT3B0aW9u
cyBvYmplY3RBdEluZGV4OnNlbGVjdGVkSW5kZXhdXTsKIH0KIAorLSAodm9pZClzZXRBdWRpb01l
ZGlhU2VsZWN0aW9uSW5kZXg6KE5TVUludGVnZXIpc2VsZWN0ZWRJbmRleAoreworICAgIGlmIChz
ZWxlY3RlZEluZGV4ID49IFtfYXVkaW9Ub3VjaEJhck1lZGlhU2VsZWN0aW9uT3B0aW9ucyBjb3Vu
dF0pCisgICAgICAgIHJldHVybjsKKworICAgIFtzZWxmIHdpbGxDaGFuZ2VWYWx1ZUZvcktleTpA
ImN1cnJlbnRBdWRpb1RvdWNoQmFyTWVkaWFTZWxlY3Rpb25PcHRpb24iXTsKKyAgICBfY3VycmVu
dEF1ZGlvVG91Y2hCYXJNZWRpYVNlbGVjdGlvbk9wdGlvbiA9IFtfYXVkaW9Ub3VjaEJhck1lZGlh
U2VsZWN0aW9uT3B0aW9ucyBvYmplY3RBdEluZGV4OnNlbGVjdGVkSW5kZXhdOworICAgIFtzZWxm
IGRpZENoYW5nZVZhbHVlRm9yS2V5OkAiY3VycmVudEF1ZGlvVG91Y2hCYXJNZWRpYVNlbGVjdGlv
bk9wdGlvbiJdOworfQorCistICh2b2lkKXNldExlZ2libGVNZWRpYVNlbGVjdGlvbkluZGV4OihO
U1VJbnRlZ2VyKXNlbGVjdGVkSW5kZXgKK3sKKyAgICBpZiAoc2VsZWN0ZWRJbmRleCA+PSBbX2xl
Z2libGVUb3VjaEJhck1lZGlhU2VsZWN0aW9uT3B0aW9ucyBjb3VudF0pCisgICAgICAgIHJldHVy
bjsKKworICAgIFtzZWxmIHdpbGxDaGFuZ2VWYWx1ZUZvcktleTpAImN1cnJlbnRMZWdpYmxlVG91
Y2hCYXJNZWRpYVNlbGVjdGlvbk9wdGlvbiJdOworICAgIF9jdXJyZW50TGVnaWJsZVRvdWNoQmFy
TWVkaWFTZWxlY3Rpb25PcHRpb24gPSBbX2xlZ2libGVUb3VjaEJhck1lZGlhU2VsZWN0aW9uT3B0
aW9ucyBvYmplY3RBdEluZGV4OnNlbGVjdGVkSW5kZXhdOworICAgIFtzZWxmIGRpZENoYW5nZVZh
bHVlRm9yS2V5OkAiY3VycmVudExlZ2libGVUb3VjaEJhck1lZGlhU2VsZWN0aW9uT3B0aW9uIl07
Cit9CisKIC0gKFdlYlBsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYyopd2ViUGxheWJhY2tTZXNz
aW9uSW50ZXJmYWNlTWFjCiB7CiAgICAgcmV0dXJuIF93ZWJQbGF5YmFja1Nlc3Npb25JbnRlcmZh
Y2VNYWMuZ2V0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2Vi
UGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
YWMvV2ViUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjLmgKaW5kZXggNWIwYTlkYzY2OGQxM2Zi
MTJlNTk0MmM0ZmY4NzQ4YjU2N2FjYjZjZS4uZTcxZGJjYWE5ODc0N2RhYzY2NTEzNGQzOWZlZjFj
ZmExNGJmM2JhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYlBs
YXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21hYy9XZWJQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWMuaApAQCAtNTksNiArNTksOCBAQCBw
dWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZWVrYWJsZVJhbmdlc0NoYW5nZWQoY29u
c3QgVGltZVJhbmdlcyYpIGZpbmFsOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgYXVkaW9NZWRp
YVNlbGVjdGlvbk9wdGlvbnNDaGFuZ2VkKGNvbnN0IFZlY3RvcjxNZWRpYVNlbGVjdGlvbk9wdGlv
bj4mIC8qb3B0aW9ucyovLCB1aW50NjRfdCAvKnNlbGVjdGVkSW5kZXgqLykgZmluYWw7CiAgICAg
V0VCQ09SRV9FWFBPUlQgdm9pZCBsZWdpYmxlTWVkaWFTZWxlY3Rpb25PcHRpb25zQ2hhbmdlZChj
b25zdCBWZWN0b3I8TWVkaWFTZWxlY3Rpb25PcHRpb24+JiAvKm9wdGlvbnMqLywgdWludDY0X3Qg
LypzZWxlY3RlZEluZGV4Ki8pIGZpbmFsOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgYXVkaW9N
ZWRpYVNlbGVjdGlvbkluZGV4Q2hhbmdlZCh1aW50NjRfdCkgZmluYWw7CisgICAgV0VCQ09SRV9F
WFBPUlQgdm9pZCBsZWdpYmxlTWVkaWFTZWxlY3Rpb25JbmRleENoYW5nZWQodWludDY0X3QpIGZp
bmFsOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgaW52YWxpZGF0ZSgpOwogICAgIFdFQkNPUkVf
RVhQT1JUIHZvaWQgZW5zdXJlQ29udHJvbHNNYW5hZ2VyKCk7CiAjaWYgRU5BQkxFKFdFQl9QTEFZ
QkFDS19DT05UUk9MU19NQU5BR0VSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL1dlYlBsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21hYy9XZWJQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWMubW0KaW5kZXggNTcx
OTc2NzIyYTMyMWFiYWViN2MxMjViODM0YmMyNmRhYjA4YTliNy4uZmUxZjUyZjA0NjMzYWI4NjZh
ZmFhNDlhYzBkZTFjYTE0ZWUyODYwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL1dlYlBsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYy5tbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tYWMvV2ViUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjLm1tCkBAIC0x
NTksNiArMTU5LDI0IEBAIHZvaWQgV2ViUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjOjpsZWdp
YmxlTWVkaWFTZWxlY3Rpb25PcHRpb25zQ2hhbmdlZChjb25zdCBWCiAjZW5kaWYKIH0KIAordm9p
ZCBXZWJQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWM6OmF1ZGlvTWVkaWFTZWxlY3Rpb25JbmRl
eENoYW5nZWQodWludDY0X3Qgc2VsZWN0ZWRJbmRleCkKK3sKKyNpZiBFTkFCTEUoV0VCX1BMQVlC
QUNLX0NPTlRST0xTX01BTkFHRVIpCisgICAgW3BsYXlCYWNrQ29udHJvbHNNYW5hZ2VyKCkgc2V0
QXVkaW9NZWRpYVNlbGVjdGlvbkluZGV4OnNlbGVjdGVkSW5kZXhdOworI2Vsc2UKKyAgICBVTlVT
RURfUEFSQU0oc2VsZWN0ZWRJbmRleCk7CisjZW5kaWYKK30KKwordm9pZCBXZWJQbGF5YmFja1Nl
c3Npb25JbnRlcmZhY2VNYWM6OmxlZ2libGVNZWRpYVNlbGVjdGlvbkluZGV4Q2hhbmdlZCh1aW50
NjRfdCBzZWxlY3RlZEluZGV4KQoreworI2lmIEVOQUJMRShXRUJfUExBWUJBQ0tfQ09OVFJPTFNf
TUFOQUdFUikKKyAgICBbcGxheUJhY2tDb250cm9sc01hbmFnZXIoKSBzZXRMZWdpYmxlTWVkaWFT
ZWxlY3Rpb25JbmRleDpzZWxlY3RlZEluZGV4XTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHNl
bGVjdGVkSW5kZXgpOworI2VuZGlmCit9CisKIHZvaWQgV2ViUGxheWJhY2tTZXNzaW9uSW50ZXJm
YWNlTWFjOjppbnZhbGlkYXRlKCkKIHsKICAgICBpZiAoIW1fcGxheWJhY2tTZXNzaW9uTW9kZWwp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViUGxheWJhY2tT
ZXNzaW9uTWFuYWdlclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2Vi
UGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5LmgKaW5kZXggOWY1N2Q1ODMxYzlmODAwYTA2YTM4
N2YyZTlkZjEyZGE2YzhmOGY0Mi4uYThlOWJhYjNlZmYwN2ZiZWUyMWM5Njk3ZGJkODljMTk3NGJl
Mjg2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYlBsYXli
YWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9D
b2NvYS9XZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHkuaApAQCAtNzksNiArNzksOCBAQCBw
dWJsaWM6CiAgICAgdm9pZCBzZXRDYW5QbGF5RmFzdFJldmVyc2UoYm9vbCk7CiAgICAgdm9pZCBz
ZXRBdWRpb01lZGlhU2VsZWN0aW9uT3B0aW9ucyhjb25zdCBWZWN0b3I8V2ViQ29yZTo6TWVkaWFT
ZWxlY3Rpb25PcHRpb24+JiBvcHRpb25zLCB1aW50NjRfdCBpbmRleCk7CiAgICAgdm9pZCBzZXRM
ZWdpYmxlTWVkaWFTZWxlY3Rpb25PcHRpb25zKGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpNZWRpYVNl
bGVjdGlvbk9wdGlvbj4mIG9wdGlvbnMsIHVpbnQ2NF90IGluZGV4KTsKKyAgICB2b2lkIHNldEF1
ZGlvTWVkaWFTZWxlY3Rpb25JbmRleCh1aW50NjRfdCBzZWxlY3RlZEluZGV4KTsKKyAgICB2b2lk
IHNldExlZ2libGVNZWRpYVNlbGVjdGlvbkluZGV4KHVpbnQ2NF90IHNlbGVjdGVkSW5kZXgpOwog
ICAgIHZvaWQgc2V0RXh0ZXJuYWxQbGF5YmFjayhib29sLCBXZWJQbGF5YmFja1Nlc3Npb25Nb2Rl
bDo6RXh0ZXJuYWxQbGF5YmFja1RhcmdldFR5cGUsIGNvbnN0IFN0cmluZyYpOwogICAgIHZvaWQg
c2V0V2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWQoYm9vbCk7CiAKQEAgLTE4Miw2ICsxODQs
OCBAQCBwcml2YXRlOgogICAgIHZvaWQgc2V0Q2FuUGxheUZhc3RSZXZlcnNlKHVpbnQ2NF90IGNv
bnRleHRJZCwgYm9vbCB2YWx1ZSk7CiAgICAgdm9pZCBzZXRBdWRpb01lZGlhU2VsZWN0aW9uT3B0
aW9ucyh1aW50NjRfdCBjb250ZXh0SWQsIFZlY3RvcjxXZWJDb3JlOjpNZWRpYVNlbGVjdGlvbk9w
dGlvbj4gb3B0aW9ucywgdWludDY0X3Qgc2VsZWN0ZWRJbmRleCk7CiAgICAgdm9pZCBzZXRMZWdp
YmxlTWVkaWFTZWxlY3Rpb25PcHRpb25zKHVpbnQ2NF90IGNvbnRleHRJZCwgVmVjdG9yPFdlYkNv
cmU6Ok1lZGlhU2VsZWN0aW9uT3B0aW9uPiBvcHRpb25zLCB1aW50NjRfdCBzZWxlY3RlZEluZGV4
KTsKKyAgICB2b2lkIHNldEF1ZGlvTWVkaWFTZWxlY3Rpb25JbmRleCh1aW50NjRfdCBjb250ZXh0
SWQsIHVpbnQ2NF90IHNlbGVjdGVkSW5kZXgpOworICAgIHZvaWQgc2V0TGVnaWJsZU1lZGlhU2Vs
ZWN0aW9uSW5kZXgodWludDY0X3QgY29udGV4dElkLCB1aW50NjRfdCBzZWxlY3RlZEluZGV4KTsK
ICAgICB2b2lkIHNldEV4dGVybmFsUGxheWJhY2tQcm9wZXJ0aWVzKHVpbnQ2NF90IGNvbnRleHRJ
ZCwgYm9vbCBlbmFibGVkLCB1aW50MzJfdCB0YXJnZXRUeXBlLCBTdHJpbmcgbG9jYWxpemVkRGV2
aWNlTmFtZSk7CiAgICAgdm9pZCBzZXRXaXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZCh1aW50
NjRfdCBjb250ZXh0SWQsIGJvb2wpOwogICAgIHZvaWQgc2V0RHVyYXRpb24odWludDY0X3QgY29u
dGV4dElkLCBkb3VibGUgZHVyYXRpb24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbiBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9XZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2Vy
UHJveHkubWVzc2FnZXMuaW4KaW5kZXggYTdmMTRiZjRkNGYxYTRlZTIzNzNhYTQxNzU1MGY1Yzcw
MWNkMTU1OC4uYmMyZDM0ZmE2MzUzYzY1MmI0ODNlZGQxZWJmYjE1NDUyODU1YzI5MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1h
bmFnZXJQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29j
b2EvV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluCkBAIC0yOSw2ICsy
OSw4IEBAIG1lc3NhZ2VzIC0+IFdlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eSB7CiAgICAg
U2V0Q2FuUGxheUZhc3RSZXZlcnNlKHVpbnQ2NF90IGNvbnRleHRJZCwgYm9vbCB2YWx1ZSkKICAg
ICBTZXRBdWRpb01lZGlhU2VsZWN0aW9uT3B0aW9ucyh1aW50NjRfdCBjb250ZXh0SWQsIFZlY3Rv
cjxXZWJDb3JlOjpNZWRpYVNlbGVjdGlvbk9wdGlvbj4gb3B0aW9ucywgdWludDY0X3Qgc2VsZWN0
ZWRJbmRleCkKICAgICBTZXRMZWdpYmxlTWVkaWFTZWxlY3Rpb25PcHRpb25zKHVpbnQ2NF90IGNv
bnRleHRJZCwgVmVjdG9yPFdlYkNvcmU6Ok1lZGlhU2VsZWN0aW9uT3B0aW9uPiBvcHRpb25zLCB1
aW50NjRfdCBzZWxlY3RlZEluZGV4KQorICAgIFNldEF1ZGlvTWVkaWFTZWxlY3Rpb25JbmRleCh1
aW50NjRfdCBjb250ZXh0SWQsIHVpbnQ2NF90IHNlbGVjdGVkSW5kZXgpCisgICAgU2V0TGVnaWJs
ZU1lZGlhU2VsZWN0aW9uSW5kZXgodWludDY0X3QgY29udGV4dElkLCB1aW50NjRfdCBzZWxlY3Rl
ZEluZGV4KQogICAgIFNldEV4dGVybmFsUGxheWJhY2tQcm9wZXJ0aWVzKHVpbnQ2NF90IGNvbnRl
eHRJZCwgYm9vbCBlbmFibGVkLCB1aW50MzJfdCB0YXJnZXRUeXBlLCBTdHJpbmcgbG9jYWxpemVk
RGV2aWNlTmFtZSkKICAgICBTZXRXaXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZCh1aW50NjRf
dCBjb250ZXh0SWQsIGJvb2wgZGlzYWJsZWQpCiAgICAgU2V0RHVyYXRpb24odWludDY0X3QgY29u
dGV4dElkLCBkb3VibGUgZHVyYXRpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQ29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5Lm1tIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5tbQpp
bmRleCA1Y2RiNWFkYmQ3ZjdkYjNkZDFlOTk3ZTU1NmJlNjc2ODJkOTMwMjI5Li5kZmZkYzYzZmFj
MzBmODlkMWNhYTE0OGFiMDgyMjljMDJlZmU1ZGExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQ29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5Lm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9XZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2Vy
UHJveHkubW0KQEAgLTIwNSw2ICsyMDUsMjIgQEAgdm9pZCBXZWJQbGF5YmFja1Nlc3Npb25Nb2Rl
bENvbnRleHQ6OnNldExlZ2libGVNZWRpYVNlbGVjdGlvbk9wdGlvbnMoY29uc3QgVmVjdG8KICAg
ICAgICAgY2xpZW50LT5sZWdpYmxlTWVkaWFTZWxlY3Rpb25PcHRpb25zQ2hhbmdlZChsZWdpYmxl
TWVkaWFTZWxlY3Rpb25PcHRpb25zLCBsZWdpYmxlTWVkaWFTZWxlY3RlZEluZGV4KTsKIH0KIAor
dm9pZCBXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbENvbnRleHQ6OnNldEF1ZGlvTWVkaWFTZWxlY3Rp
b25JbmRleCh1aW50NjRfdCBzZWxlY3RlZEluZGV4KQoreworICAgIG1fYXVkaW9NZWRpYVNlbGVj
dGVkSW5kZXggPSBzZWxlY3RlZEluZGV4OworCisgICAgZm9yIChhdXRvKiBjbGllbnQgOiBtX2Ns
aWVudHMpCisgICAgICAgIGNsaWVudC0+YXVkaW9NZWRpYVNlbGVjdGlvbkluZGV4Q2hhbmdlZChz
ZWxlY3RlZEluZGV4KTsKK30KKwordm9pZCBXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbENvbnRleHQ6
OnNldExlZ2libGVNZWRpYVNlbGVjdGlvbkluZGV4KHVpbnQ2NF90IHNlbGVjdGVkSW5kZXgpCit7
CisgICAgbV9sZWdpYmxlTWVkaWFTZWxlY3RlZEluZGV4ID0gc2VsZWN0ZWRJbmRleDsKKworICAg
IGZvciAoYXV0byogY2xpZW50IDogbV9jbGllbnRzKQorICAgICAgICBjbGllbnQtPmxlZ2libGVN
ZWRpYVNlbGVjdGlvbkluZGV4Q2hhbmdlZChzZWxlY3RlZEluZGV4KTsKK30KKwogdm9pZCBXZWJQ
bGF5YmFja1Nlc3Npb25Nb2RlbENvbnRleHQ6OnNldEV4dGVybmFsUGxheWJhY2soYm9vbCBlbmFi
bGVkLCBXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbDo6RXh0ZXJuYWxQbGF5YmFja1RhcmdldFR5cGUg
dHlwZSwgY29uc3QgU3RyaW5nJiBsb2NhbGl6ZWROYW1lKQogewogICAgIG1fZXh0ZXJuYWxQbGF5
YmFja0VuYWJsZWQgPSBlbmFibGVkOwpAQCAtMzc1LDYgKzM5MSwxNiBAQCB2b2lkIFdlYlBsYXli
YWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6c2V0TGVnaWJsZU1lZGlhU2VsZWN0aW9uT3B0aW9ucyh1
aW50NjRfdCBjbwogICAgIGVuc3VyZU1vZGVsKGNvbnRleHRJZCkuc2V0TGVnaWJsZU1lZGlhU2Vs
ZWN0aW9uT3B0aW9ucyhvcHRpb25zLCBzZWxlY3RlZEluZGV4KTsKIH0KIAordm9pZCBXZWJQbGF5
YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OnNldEF1ZGlvTWVkaWFTZWxlY3Rpb25JbmRleCh1aW50
NjRfdCBjb250ZXh0SWQsIHVpbnQ2NF90IHNlbGVjdGVkSW5kZXgpCit7CisgICAgZW5zdXJlTW9k
ZWwoY29udGV4dElkKS5zZXRBdWRpb01lZGlhU2VsZWN0aW9uSW5kZXgoc2VsZWN0ZWRJbmRleCk7
Cit9CisKK3ZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5OjpzZXRMZWdpYmxlTWVk
aWFTZWxlY3Rpb25JbmRleCh1aW50NjRfdCBjb250ZXh0SWQsIHVpbnQ2NF90IHNlbGVjdGVkSW5k
ZXgpCit7CisgICAgZW5zdXJlTW9kZWwoY29udGV4dElkKS5zZXRMZWdpYmxlTWVkaWFTZWxlY3Rp
b25JbmRleChzZWxlY3RlZEluZGV4KTsKK30KKwogdm9pZCBXZWJQbGF5YmFja1Nlc3Npb25NYW5h
Z2VyUHJveHk6OnNldEV4dGVybmFsUGxheWJhY2tQcm9wZXJ0aWVzKHVpbnQ2NF90IGNvbnRleHRJ
ZCwgYm9vbCBlbmFibGVkLCB1aW50MzJfdCB0YXJnZXRUeXBlLCBTdHJpbmcgbG9jYWxpemVkRGV2
aWNlTmFtZSkKIHsKICAgICBXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbDo6RXh0ZXJuYWxQbGF5YmFj
a1RhcmdldFR5cGUgdHlwZSA9IHN0YXRpY19jYXN0PFdlYlBsYXliYWNrU2Vzc2lvbk1vZGVsOjpF
eHRlcm5hbFBsYXliYWNrVGFyZ2V0VHlwZT4odGFyZ2V0VHlwZSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL2NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXIuaCBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvY29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdl
ci5oCmluZGV4IGRkZmUyMWM5NjljYmRkMDFlOTVkZDBjNzRlZmU3MDk2Mjc0ODMzNTIuLjcxODU4
ZTFlY2I1NzEzYmUwNThlNzMxMjFiZTBiNmVlYTU5MjE5OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvY29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlci5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvY29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdl
ci5oCkBAIC04Myw2ICs4Myw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjYW5QbGF5RmFzdFJldmVy
c2VDaGFuZ2VkKGJvb2wgdmFsdWUpIGZpbmFsOwogICAgIHZvaWQgYXVkaW9NZWRpYVNlbGVjdGlv
bk9wdGlvbnNDaGFuZ2VkKGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpNZWRpYVNlbGVjdGlvbk9wdGlv
bj4mIG9wdGlvbnMsIHVpbnQ2NF90IHNlbGVjdGVkSW5kZXgpIGZpbmFsOwogICAgIHZvaWQgbGVn
aWJsZU1lZGlhU2VsZWN0aW9uT3B0aW9uc0NoYW5nZWQoY29uc3QgVmVjdG9yPFdlYkNvcmU6Ok1l
ZGlhU2VsZWN0aW9uT3B0aW9uPiYgb3B0aW9ucywgdWludDY0X3Qgc2VsZWN0ZWRJbmRleCkgZmlu
YWw7CisgICAgdm9pZCBhdWRpb01lZGlhU2VsZWN0aW9uSW5kZXhDaGFuZ2VkKHVpbnQ2NF90KSBm
aW5hbDsKKyAgICB2b2lkIGxlZ2libGVNZWRpYVNlbGVjdGlvbkluZGV4Q2hhbmdlZCh1aW50NjRf
dCkgZmluYWw7CiAgICAgdm9pZCBleHRlcm5hbFBsYXliYWNrQ2hhbmdlZChib29sIGVuYWJsZWQs
IFdlYkNvcmU6OldlYlBsYXliYWNrU2Vzc2lvbk1vZGVsOjpFeHRlcm5hbFBsYXliYWNrVGFyZ2V0
VHlwZSwgY29uc3QgU3RyaW5nJiBsb2NhbGl6ZWREZXZpY2VOYW1lKSBmaW5hbDsKICAgICB2b2lk
IHdpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkQ2hhbmdlZChib29sKSBmaW5hbDsKIApAQCAt
MTI5LDYgKzEzMSw4IEBAIHByb3RlY3RlZDoKICAgICB2b2lkIGNhblBsYXlGYXN0UmV2ZXJzZUNo
YW5nZWQodWludDY0X3QgY29udGV4dElkLCBib29sIHZhbHVlKTsKICAgICB2b2lkIGF1ZGlvTWVk
aWFTZWxlY3Rpb25PcHRpb25zQ2hhbmdlZCh1aW50NjRfdCBjb250ZXh0SWQsIGNvbnN0IFZlY3Rv
cjxXZWJDb3JlOjpNZWRpYVNlbGVjdGlvbk9wdGlvbj4mIG9wdGlvbnMsIHVpbnQ2NF90IHNlbGVj
dGVkSW5kZXgpOwogICAgIHZvaWQgbGVnaWJsZU1lZGlhU2VsZWN0aW9uT3B0aW9uc0NoYW5nZWQo
dWludDY0X3QgY29udGV4dElkLCBjb25zdCBWZWN0b3I8V2ViQ29yZTo6TWVkaWFTZWxlY3Rpb25P
cHRpb24+JiBvcHRpb25zLCB1aW50NjRfdCBzZWxlY3RlZEluZGV4KTsKKyAgICB2b2lkIGF1ZGlv
TWVkaWFTZWxlY3Rpb25JbmRleENoYW5nZWQodWludDY0X3QgY29udGV4dElkLCB1aW50NjRfdCBz
ZWxlY3RlZEluZGV4KTsKKyAgICB2b2lkIGxlZ2libGVNZWRpYVNlbGVjdGlvbkluZGV4Q2hhbmdl
ZCh1aW50NjRfdCBjb250ZXh0SWQsIHVpbnQ2NF90IHNlbGVjdGVkSW5kZXgpOwogICAgIHZvaWQg
ZXh0ZXJuYWxQbGF5YmFja0NoYW5nZWQodWludDY0X3QgY29udGV4dElkLCBib29sIGVuYWJsZWQs
IFdlYkNvcmU6OldlYlBsYXliYWNrU2Vzc2lvbk1vZGVsOjpFeHRlcm5hbFBsYXliYWNrVGFyZ2V0
VHlwZSwgU3RyaW5nIGxvY2FsaXplZERldmljZU5hbWUpOwogICAgIHZvaWQgd2lyZWxlc3NWaWRl
b1BsYXliYWNrRGlzYWJsZWRDaGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJZCwgYm9vbCk7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvY29jb2EvV2ViUGxheWJhY2tTZXNz
aW9uTWFuYWdlci5tbSBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvY29jb2EvV2ViUGxheWJh
Y2tTZXNzaW9uTWFuYWdlci5tbQppbmRleCAxZjRlZjMxN2Y1MmZiNjk3MmU2NGE5MTE5ZjliMzc2
MWY1OTQ1ZmYyLi5jOTYxMjA3MjgzMzZmNTM3MzZlMzE3ODU3MzU0NDNjNThkMDhjZjBmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL2NvY29hL1dlYlBsYXliYWNrU2Vzc2lv
bk1hbmFnZXIubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQbGF5
YmFja1Nlc3Npb25NYW5hZ2VyLm1tCkBAIC0xMjUsNiArMTI1LDE4IEBAIHZvaWQgV2ViUGxheWJh
Y2tTZXNzaW9uSW50ZXJmYWNlQ29udGV4dDo6bGVnaWJsZU1lZGlhU2VsZWN0aW9uT3B0aW9uc0No
YW5nZWQoY29uCiAgICAgICAgIG1fbWFuYWdlci0+bGVnaWJsZU1lZGlhU2VsZWN0aW9uT3B0aW9u
c0NoYW5nZWQobV9jb250ZXh0SWQsIG9wdGlvbnMsIHNlbGVjdGVkSW5kZXgpOwogfQogCit2b2lk
IFdlYlBsYXliYWNrU2Vzc2lvbkludGVyZmFjZUNvbnRleHQ6OmF1ZGlvTWVkaWFTZWxlY3Rpb25J
bmRleENoYW5nZWQodWludDY0X3Qgc2VsZWN0ZWRJbmRleCkKK3sKKyAgICBpZiAobV9tYW5hZ2Vy
KQorICAgICAgICBtX21hbmFnZXItPmF1ZGlvTWVkaWFTZWxlY3Rpb25JbmRleENoYW5nZWQobV9j
b250ZXh0SWQsIHNlbGVjdGVkSW5kZXgpOworfQorCit2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbklu
dGVyZmFjZUNvbnRleHQ6OmxlZ2libGVNZWRpYVNlbGVjdGlvbkluZGV4Q2hhbmdlZCh1aW50NjRf
dCBzZWxlY3RlZEluZGV4KQoreworICAgIGlmIChtX21hbmFnZXIpCisgICAgICAgIG1fbWFuYWdl
ci0+bGVnaWJsZU1lZGlhU2VsZWN0aW9uSW5kZXhDaGFuZ2VkKG1fY29udGV4dElkLCBzZWxlY3Rl
ZEluZGV4KTsKK30KKwogdm9pZCBXZWJQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VDb250ZXh0Ojpl
eHRlcm5hbFBsYXliYWNrQ2hhbmdlZChib29sIGVuYWJsZWQsIFdlYlBsYXliYWNrU2Vzc2lvbk1v
ZGVsOjpFeHRlcm5hbFBsYXliYWNrVGFyZ2V0VHlwZSB0eXBlLCBjb25zdCBTdHJpbmcmIGxvY2Fs
aXplZERldmljZU5hbWUpCiB7CiAgICAgaWYgKG1fbWFuYWdlcikKQEAgLTMzMSw2ICszNDMsMTYg
QEAgdm9pZCBXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyOjpleHRlcm5hbFBsYXliYWNrQ2hhbmdl
ZCh1aW50NjRfdCBjb250ZXh0SWQsIGJvb2wKICAgICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6Oldl
YlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6U2V0RXh0ZXJuYWxQbGF5YmFja1Byb3BlcnRp
ZXMoY29udGV4dElkLCBlbmFibGVkLCBzdGF0aWNfY2FzdDx1aW50MzJfdD4odGFyZ2V0VHlwZSks
IGxvY2FsaXplZERldmljZU5hbWUpLCBtX3BhZ2UtPnBhZ2VJRCgpKTsKIH0KIAordm9pZCBXZWJQ
bGF5YmFja1Nlc3Npb25NYW5hZ2VyOjphdWRpb01lZGlhU2VsZWN0aW9uSW5kZXhDaGFuZ2VkKHVp
bnQ2NF90IGNvbnRleHRJZCwgdWludDY0X3Qgc2VsZWN0ZWRJbmRleCkKK3sKKyAgICBtX3BhZ2Ut
PnNlbmQoTWVzc2FnZXM6OldlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6U2V0QXVkaW9N
ZWRpYVNlbGVjdGlvbkluZGV4KGNvbnRleHRJZCwgc2VsZWN0ZWRJbmRleCksIG1fcGFnZS0+cGFn
ZUlEKCkpOworfQorCit2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXI6OmxlZ2libGVNZWRp
YVNlbGVjdGlvbkluZGV4Q2hhbmdlZCh1aW50NjRfdCBjb250ZXh0SWQsIHVpbnQ2NF90IHNlbGVj
dGVkSW5kZXgpCit7CisgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQbGF5YmFja1Nlc3Np
b25NYW5hZ2VyUHJveHk6OlNldExlZ2libGVNZWRpYVNlbGVjdGlvbkluZGV4KGNvbnRleHRJZCwg
c2VsZWN0ZWRJbmRleCksIG1fcGFnZS0+cGFnZUlEKCkpOworfQorCiB2b2lkIFdlYlBsYXliYWNr
U2Vzc2lvbk1hbmFnZXI6OndpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkQ2hhbmdlZCh1aW50
NjRfdCBjb250ZXh0SWQsIGJvb2wgZGlzYWJsZWQpCiB7CiAgICAgbV9wYWdlLT5zZW5kKE1lc3Nh
Z2VzOjpXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OlNldFdpcmVsZXNzVmlkZW9QbGF5
YmFja0Rpc2FibGVkKGNvbnRleHRJZCwgZGlzYWJsZWQpKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>